안녕하세요! 오늘은~ SQL에서 사용되는 연산자들의 작동 방식과 이들을 어떻게 효과적으로 사용하는지 그 방법들에 대해서 자세하게 설명해 보려고 합니다.
데이터베이스로 작업할 때 SQL 언어는 단일 쿼리에서 여러 조건을 결합하기 위해서 매우 중요한 연산자 집합을 제공합니다. 이런 연산자들은 AND, OR, NOT 등이 있으며 특정 기준에 따라 SELECT 문의 결과를 필터링하는 데 사용됩니다.
SQL AND, OR, NOT 연산자의 구문
SQL AND, OR, NOT 연산자의 기본 구문은 다음과 같습니다.
- AND
SELECT column1, column2, ...
FROM table
WHERE condition1 AND condition2 AND condition3 ...
- OR
SELECT column1, column2, ...
FROM table
WHERE condition1 OR condition2 OR condition3 ...
- NOT
SELECT column1, column2, ...
FROM table
WHERE NOT condition
연산자들은 단순하게 혹은 복잡하게 반환하고 싶은 대로 여러 조건을 결합하는 데 사용할 수 있습니다. 다음은 AND와 OR 연산자를 사용해서 여러 조건을 결합하는 예를 살펴보겠습니다.
SELECT name, age, city
FROM customers
WHERE age > 18 AND (city = 'New York' OR city = 'Los Angeles')
위의 쿼리는 18세보다 많으면서 도시가 뉴욕이나 로스앤젤레스에서 거주하는 모든 고객의 이름, 연령, 도시를 반환해 줍니다.
SQL AND 연산자 사용
AND 연산자는 여러 조건들을 결합하는 데 사용됩니다. 결과 집합에 포함될 행에 대해 모두 ture 여야 반환이 됩니다. 예를 들면, products 테이블이 있고, 재고가 있고, 가격이 $50 미만이니 제품만 선택하고 싶다고 가정해 본다면! 다음 쿼리를 사용할 수 있습니다.
SELECT name, price, in_stock
FROM products
WHERE price < 50 AND in_stock = true
위의 쿼리를 살펴보면 products가 출력되기 위해서는 price가 50보다 작아야 하고, in_stock = true인 조건을 모두 만족해야 합니다.
SQL OR 연산자 사용
OR 연산자는 여러 조건들을 결합하는 데 사용되고 출력되는 것은 포함된 행에 대해서 조건 중에 하나가 참이면 됩니다. 예를 들어보겠습니다. 직원 테이블이 있고, 관리자이거나 급여가 $100,000 이상인 모든 직원을 보고 싶다고 가정해 본다면, 다음과 같이 쿼리를 짤 수 있습니다.
SELECT name, title, salary
FROM employees
WHERE title = 'Manager' OR salary > 100000
위의 쿼리를 보면, 제목이 'Manager' 이거나, 급여가 > 100000 인 조건 중에 하나라도 참이면 출력이 되는 구문인 걸 확인할 수 있습니다.
SQL NOT 연산자 사용
NOT 연산자는 조건을 무효화해서 조건을 충족하지 않는 행들만 결과로 나오도록 해줍니다. 예를 들어, customer 테이블이 있고, 지난달에 주문하지 않은 모든 고객을 확인하고 싶다고 가정해 보겠습니다. 이런 경우 다음과 같이 쿼리를 작성할 수 있습니다.
SELECT name, last_order_date
FROM customers
WHERE NOT last_order_date > DATEADD(month, -1, GETDATE())
위 쿼리를 보면, last_order_date가 한 달 전보다 크다는 조건을 무효화했습니다. 이렇게 되면 현재 날짜로부터 한 달 이전보다 크지 않은 행만 확인합니다. GETDATE() 함수로 현재 날짜와 시간을 검색할 수 있게 되고, DATAADD 함수로 현재 날짜에서 한 달을 빼는 데 사용되는거죠. 즉, 해당 날짜 이후가 아닌 행을 찾게 됩니다. 따라서 last_order_data 열이 한 달 이하인 행만 포함되므로 지난 달의 주문이 결과로 나오게 됩니다.
SQL AND, OR, NOT 연산자 사용 모범 사례
SQL AND, OR, NOT 연산자를 사용할 때 쿼리가 효율적이고 정확한지 확인하기 위해서는 모범 사례를 따르는 것이 좋습니다.
1. 필요한 경우 괄호를 사용해서 조건을 그룹화해주세요. 이렇게 하면 모호함을 피할 수 있고, 쿼리 논리가 명확하게 구분할 수 있습니다.
2. 조건을 너무 많이 사용하지 마세요. 조건이 너무 많으면 쿼리를 읽고 이해하는 데 어려울 수 있습니다.
'SQL' 카테고리의 다른 글
SQL INSERT INTO 문 완전 이해하기 (0) | 2023.04.21 |
---|---|
SQL ORDER BY 키워드 마스터하기 (1) | 2023.04.20 |
SQL WHERE 절 종합 이해하기 (0) | 2023.04.18 |
SQL SELECT DISTINCT 문 마스터하기!!! (0) | 2023.04.17 |
SQL SELECT 문을 사용하여 데이터베이스에서 데이터 추출하는 방법 (0) | 2023.04.16 |