논리연산자 AND, OR 알아보기
AND 연산자
AND 연산자를 사용할 경우 두 가지 조건을 모두 만족하는 데이터만 출력하게 된다
=> 만약 조건을 추가하고 싶다면 계속해서 AND 연산자를 사용하면 됨!
SELECT 열 이름1, 열 이름2 FROM 테이블명 WHERE 조건절1 AND 조건절2
1. BRNCH_INFO 테이블을 사용하여 직원 수가 10명 이상이고 경영평가가 'C'인 영업점 번호, 영업점 이름, 영업점 인원, 경영평가를 나타내려면?
SELECT BRNCH_NO, BRNCH_NM, BRNCH_NUM, BRNCH_PERF
FROM BRNCH_INFO
WHERE BRNCH_NUM >= 10 AND BRNCH_PERF = 'C';
2. BRNCH_INFO 테이블을 사용하여 직원 수가 10명 이상이고 경영평가가 'C'이면서 영업점이 폐쇄된 영업점 번호, 영업점 이름, 영업점 인원, 경영평가를 나타내려면?
SELECT BRNCH_NO, BRNCH_NM, BRNCH_NUM, BRNCH_PERF
FROM BRNCH_INFO
WHERE BRNCH_NUM >=10 AND BRNCH_PERF = 'C' AND CLOSE_DT IS NOT NULL;
OR 연산자
OR 연산자를 사용할 경우 적어도 하나의 조건만 만족해도 출력하게 된다
=> 만약 조건을 추가하고 싶다면 계속해서 OR 연산자를 사용하면 됨!
SELECT 열 이름1, 열 이름2 FROM 테이블명 WHERE 조건절1 OR 조건절2;
1. BRNCH_INFO 테이블을 사용하여 직원 수가 8명이거나 경영평가가 'A'이거나 영업점이 폐쇄된 영업점 번호, 영업점 이름, 영업점 인원, 경영평가를 나타내려면?
SELECT BRNCH_NO, BRNCH_NM, BRNCH_NUM, BRNCH_PERF
FROM BRNCH_INFO
WHERE BRNCH_NUM = 8 OR BRNCH_PERF = 'A' OR CLOSE_DT IS NOT NULL;
우선순위는 OR 연산자보다 AND 연산자가 더 앞선다
=> AND 연산자보다 OR 연산자를 먼저 처리하고 싶다면 해당 연산을 괄호로 묶어주면 됨!
논리연산자 IN, NOT IN 알아보기
IN 연산자
IN 연산자는 여러 번 사용하는 OR 연산자를 하나로 묶은 것이라고 이해하면 된다
SELECT 열 이름 FROM 테이블명 WHERE 비교할 열 이름 IN (조건1, 조건2);
1. BRNCH_INFO 테이블을 사용하여 직원 수가 10명 또는 8명이면서 경영평가가 'A' 또는 'B'인 영업점 번호, 영업점 이름, 영업점 인원, 경영평가를 나타내려면?
SELECT BRNCH_NO, BRNCH_NM, BRNCH_NUM, BRNCH_PERF
FROM BRNCH_INFO
WHERE BRNCH_NUM IN (8, 10)
AND BRNCH_PERF IN ('A', 'B');
1. IN 연산자는 OR 연산자보다 처리 속도가 빠르다
=> 데이터가 방대할 때 좀 더 빠르게 실행할 수 있음
2. IN 연산자 안에 다른 SELECT 문장을 사용할 수 있음
NOT IN 연산자
NOT IN 연산자는 해당하는 조건들 외의 모든 것이라고 이해하면 된다
SELECT 열 이름 FROM 테이블명 WHERE 비교할 열 이름 NOT IN (조건1, 조건2);
1. BRNCH_INFO 테이블을 사용하여 폐쇄되었거나 2000년도 이전에 신설한 영업점 중 경영평가가 'A'가 아닌 영업점의 영업점 번호, 영업점 이름, 영업점 신설일, 영업점 폐쇄일, 경영평가를 나타내려면?
SELECT BRNCH_NO, BRNCH_NM, OPEN_DT, CLOSE_DT, BRNCH_PERF
FROM BRNCH_INFO
WHERE (CLOSE_DT IS NOT NULL OR OPEN_DT <= '20000101')
AND BRNCH_PERF NOT IN ('A');
'Database > SQL' 카테고리의 다른 글
SQL 기본 함수 배우기 (2) | 2024.02.26 |
---|---|
텍스트 마이닝을 활용한 데이터 조건 주기 (1) | 2024.02.26 |
WHERE 조건절을 활용한 데이터 조건 주기 (0) | 2024.02.22 |
SELECT문에 추가적으로 필요한 키워드 (0) | 2024.02.22 |
SQL의 기초 (0) | 2024.02.21 |