SQL - AND와 OR 연결 연산자
안녕하세요, 미래의 SQL 마스터 여러분! AND와 OR 연산자에 대한 우리의 강의에 환영합니다. 여러분을 안내해 드리는 것을 매우 기쁘게 생각하며, 이 튜토리얼의 끝까지 따라오시면 이 연산자들을 프로처럼 다룰 수 있을 것을 약속드립니다. 그럼 시작해 보겠습니다!
SQL AND 연산자
AND 연산자는 논리 연산자의 엄격한 부모입니다. 모든 조건이 충족될 때만 참을 반환합니다. 이를 간단히 말하면, 매우 까다로운 먹는 사람처럼 모든 재료가 마음에 든다면만 식사를 즐길 수 있습니다.
간단한 예를 보겠습니다:
SELECT * FROM Students
WHERE age > 18 AND grade = 'A';
이 쿼리는 "18세 이상이고 A 학점을 받은 모든 학생을 보여달라"고 말하고 있습니다. 이는 완벽한 학생을 찾는 것과 같습니다!
여기 더 복잡한 예가 있습니다:
SELECT product_name, price, stock_quantity
FROM Products
WHERE price < 50 AND stock_quantity > 100 AND category = 'Electronics';
이 쿼리는 가격이 저렴하고 충분히 재고가 있는 전자제품을 찾고 있습니다. 이는 상점에서 좋은 거래를 찾는 것과 같습니다!
여러 개의 AND 연산자
여러 개의 AND 연산자를 연속으로 사용하여 매우 구체적인 필터를 만들 수 있습니다. 이는 층층이 쌓인 샌드위치를 만드는 것처럼, 각 층(조건)이 모두 존재해야 쿼리가 결과를 반환할 수 있습니다.
SELECT * FROM Employees
WHERE department = 'Sales'
AND years_of_experience > 5
AND salary < 75000
AND performance_rating = 'Excellent';
이 쿼리는 경험 많고 성과가 뛰어난 판매 부서의 직원을 찾고 있습니다. 이는 승진할 완벽한 후보를 찾는 것과 같습니다!
AND와 다른 논리 연산자와의 조합
AND는 OR과 NOT과 같은 다른 연산자와 결합하여 복잡한 조건을 만들 수 있습니다. 예를 보겠습니다:
SELECT * FROM Cars
WHERE (make = 'Toyota' OR make = 'Honda')
AND year > 2015
AND (color = 'Red' OR color = 'Blue');
이 쿼리는 최근에 만들어진 Toyota나 Honda의 적색 또는 청색 자동차를 찾고 있습니다. 이는 매우 특정한 자동차 구매자와 같습니다!
AND와 UPDATE 문
AND는 SELECT 문뿐만 아니라 UPDATE 문에서도 유용합니다. 특정 레코드를 수정하고 싶을 때 사용할 수 있습니다:
UPDATE Products
SET price = price * 1.1
WHERE category = 'Electronics'
AND stock_quantity < 50
AND last_order_date < '2023-01-01';
이 쿼리는 재고가 적고 최근에 주문되지 않은 전자제품의 가격을 인상합니다. 이는 상점 관리자가 수요에 따라 가격을 조정하는 것과 같습니다!
SQL OR 연산자
AND는 엄격한 부모라면, OR은 관대한 부모입니다. 어느 하나의 조건이 충족되면 참을 반환합니다. 이는 식사에서 단 하나의 요리만 맛이 좋다면 만족하는 음식평론가와 같습니다.
간단한 예를 보겠습니다:
SELECT * FROM Customers
WHERE country = 'USA' OR country = 'Canada';
이 쿼리는 미국 또는 캐나다의 모든 고객을 검색합니다. 이는 AND보다 넓은 범위를 덮습니다.
여러 개의 OR 연산자
OR 연산자도 여러 개를 연속으로 사용할 수 있습니다:
SELECT * FROM Books
WHERE genre = 'Science Fiction'
OR genre = 'Fantasy'
OR genre = 'Mystery'
OR author = 'Stephen King';
이 쿼리는 여러 인기 장르에 속한 책이나 Stephen King의 책을 찾고 있습니다. 이는 서점의 "인기 선택" 코너를 둘러보는 것과 같습니다!
OR와 AND 연산자의 조합
OR와 AND를 조합하면 강력한 쿼리를 만들 수 있습니다. 조건을 올바르게 그룹화하기 위해 괄호를 사용하는 것을 잊지 마세요:
SELECT * FROM Restaurants
WHERE (cuisine = 'Italian' OR cuisine = 'French')
AND price_range <= 3
AND rating >= 4;
이 쿼리는 높은 평점을 받고 저렴한 이탈리아나 프랑스 요리를 제공하는 식당을 찾고 있습니다. 이는 좋은 저녁 식사를 계획하는 것과 같습니다!
OR와 DELETE 문
OR는 DELETE 문에서도 사용할 수 있어 여러 조건 중 하나를 충족하는 레코드를 제거할 수 있습니다:
DELETE FROM Inventory
WHERE (expiry_date < CURRENT_DATE)
OR (stock_quantity = 0 AND last_sold_date < DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH));
이 쿼리는 만료된 아이템이나 6개월 이상 판매되지 않은 재고가 없는 아이템을 제거합니다. 이는 상점 관리자가 인벤토리 데이터베이스를 정리하는 것과 같습니다!
여기 AND와 OR 연산자에 대한 주요 포인트를 요약한 표가 있습니다:
연산자 | 설명 | 사용 사례 | 예제 |
---|---|---|---|
AND | 모든 조건이 참일 때 참을 반환 | 결과를 좁히기 | WHERE age > 18 AND grade = 'A' |
OR | 어느 하나의 조건이 참일 때 참을 반환 | 검색 기준을 넓히기 | WHERE country = 'USA' OR country = 'Canada' |
이 연산자를 마스터하는 열쇠는 연습입니다. 자신만의 쿼리를 작성하고, 다양한 조합을 실험하면 곧 복잡한 SQL 문장을 쉽게 만들 수 있을 것입니다!
이 튜토리얼이 AND와 OR 연산자의 세계를 밝혀드렸기를 바랍니다. 계속 코딩하고, 배우고, 가장 중요한 것은 SQL 여정을 즐기세요!
Credits: Image by storyset