ORDER BY, Comparison Operators, Logical Operators

밤비나·2023년 4월 16일
0

SQL

목록 보기
4/13

ORDER BY

ORDER BY는 SQL 쿼리에서 데이터를 정렬하는 방법 중 하나이다. ORDER BY를 사용하면 쿼리 결과를 지정된 열을 기준으로 오름차순 또는 내림차순으로 정렬할 수 있다.

SELECT column1, column2, column3, ...
FROM table_name
ORDER BY column_name ASC|DESC;
  • ASC는 오름차순(기본값)
  • DESC는 내림차순

예제) "employees" 테이블에서 사원의 이름과 연봉을 내림차순으로 정렬하여 가져오는 쿼리

SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC;

예제) "employees" 테이블에서 사원 이름을 오름차순으로, 연봉을 내림차순으로 정렬하여 가져오는 쿼리

SELECT first_name, last_name, salary
FROM employees
ORDER BY first_name ASC, salary DESC;

Comparison Operators

데이터를 비교하는데 사용되는 연산자. 데이터를 비교하여 검색 조건을 만들거나 WHERE, HAVING, JOIN 절 등에서 조건을 지정하는데 사용된다.
= : 값이 같은지 비교합니다.
<> 또는 != : 값이 다른지 비교합니다.

> : 왼쪽 값이 오른쪽 값보다 큰지 비교
<> 또는 != : 값이 아닌것
< : 왼쪽 값이 오른쪽 값보다 작은지 비교
>= : 왼쪽 값이 오른쪽 값보다 크거나 같은지 비교
<= : 왼쪽 값이 오른쪽 값보다 작거나 같은지 비교
BETWEEN : 값이 범위 내에 있는지 비교
LIKE : 값이 특정 패턴과 일치하는지 비교
IN : 값이 지정된 목록 내에 있는지 비교

예제) "employees" 테이블에서 "John"이라는 이름을 가진 사원이 아닌 모든 사원을 찾는 쿼리

SELECT * FROM employees WHERE first_name <> 'John';
SELECT * FROM employees WHERE salary < 50000;

Logical Operators

and 연산자

and 연산자는 두 개 이상의 조건을 모두 만족할 때 결과가 참(true)이 된다. and 연산자는 모든 조건이 참일 때 참이 되며, 그렇지 않으면 거짓(false)이 된다.

예제) products 테이블에서 가격이 50보다 크고, 재고가 10 이상인 제품을 검색

SELECT * FROM products WHERE price > 50 AND stock >= 10;

or 연산자

or 연산자는 두 개 이상의 조건 중에 하나 이상이 참일 때 결과가 참이 된다. or 연산자는 조건 중에서 하나 이상이 참일 때 참이 되며, 그렇지 않으면 거짓(false)이 된다.

예제) customers 테이블에서 도시가 '서울'이거나, '인천'에 거주하는 고객을 검색

SELECT * FROM customers WHERE city = '서울' OR city = '인천';

and와 or 연산자를 복합적으로 사용하여 복잡한 검색 조건을 만들 수 있다. 예를 들어, 가격이 50보다 크거나 100보다 작고, 재고가 10 이상인 제품을 검색하려면 다음과 같이 SQL문을 작성할 수 있다.

SELECT * FROM products WHERE (price > 50 OR price < 100) AND stock >= 10;

not 연산자

NOT 연산자는 부정(negation) 연산자로, 주어진 조건을 만족하지 않는 경우를 찾을 때 사용한다.

students
+----+-----------+------------+
| id | name      | age        |
+----+-----------+------------+
| 1  | Alice     | 20         |
| 2  | Bob       | 22         |
| 3  | Charlie   | 18         |
+----+-----------+------------+

예제) 나이가 20살이 아닌 학생들의 이름

SELECT name FROM students WHERE NOT age = 20;

예제) 이름이 'Alice'가 아닌 학생들의 이름

SELECT name FROM students WHERE NOT name = 'Alice';

between

BETWEEN 연산자는 특정 범위 내에 있는 값을 조회할 때 사용된다. BETWEEN 연산자는 value BETWEEN low AND high와 같은 형태로 사용한다.

예제) orders 테이블에서 order_date가 2023년 1월 1일부터 2023년 3월 31일 사이인 주문을 조회

SELECT *
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-03-31';

예제) products 테이블에서 price가 10에서 20 사이인 제품을 조회

SELECT *
FROM products
WHERE price BETWEEN 10 AND 20;

in

IN 연산자는 WHERE 절에서 여러 값을 비교할 때 사용한다.

예제) customers 테이블에서 city가 "Seoul", "Busan", "Daegu" 중 하나인 고객들을 조회

SELECT *
FROM customers
WHERE city IN ('Seoul', 'Busan', 'Daegu');

예제) orders 테이블에서 status가 "shipped", "delivered" 중 하나이고 total_amount가 100 이상인 주문을 조회

SELECT *
FROM orders
WHERE status IN ('shipped', 'delivered') AND total_amount >= 100;

like

LIKE 연산자는 WHERE 절에서 문자열 패턴을 비교할 때 사용한다.

예제) employees 테이블에서 last_name이 "S"로 시작하는 직원들을 조회

SELECT *
FROM employees
WHERE last_name LIKE 'S%';

예제) products 테이블에서 product_name에 "apple"이 포함된 상품들을 조회

SELECT *
FROM products
WHERE product_name LIKE '%apple%';
profile
씨앗 데이터 분석가.

0개의 댓글