WHERE
SELECT 컬럼
FROM 테이블
WHERE 조건
SELECT *
FROM EMPLOYEES
WHERE JOB_ID = 'IT_PROG';
*산술연산자 (-, +, *, /)
비교연산자 (=, >, >=, <, <=)
등가비교연산자 ( = / !=, <>, ^=, NOT) *실무에서 <>를 가장 많이 사용, NOT은 부정의 의미ex)(WHERE NOT 조건)
=논리연산자 (AND, OR)=
SELECT 컬럼
FROM 테이블
WHERE 조건1
AND/OR 조건2
SELECT EMPLOYEE_ID, FIRST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 90
AND SALARY >= 5000;
*AND보다 OR이 먼저 연산
BUT ()로 묶으면 먼저연산
WHERE (DEPARTMENT_ID = 100
OR DEPARTMENT_ID = 90)
AND EMPLOYEE_ID = 101;
*IS NULL/ IS NOT NULL
WHERE 조건 IS NULL
SELECT *
FROM EMPLOYEES
WHERE FIRST_NAME IS NULL;
=IN=
= + OR
ex) IN ( A, B, C) == A OR B OR C
*NULL이 포함되면 무시하고 진행 -> IS NULL이 맞는 연산이라 틀린 연산식이지만 OR 연산이라 맞는부분만 연산
SELECT *
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 30
OR DEPARTMENT_ID = 50
OR DEPARTMENT_ID = 90;
이문장을
SELECT *
FROM EMPLOYEES
WHERE DEPARTMENT_ID IN (30, 50, 90);
이렇게
=NOT IN=
<> + AND
ex) NOT IN (A, B, C) == A AND B AND C
*NULL 포함되면 ERROR
SELECT *
FROM EMPLOYEES
WHERE DEPARTMENT_ID <> 30
AND DEPARTMENT_ID <> 50
AND DEPARTMENT_ID <> 90;
이문장을
SELECT *
FROM EMPLOYEES
WHERE DEPARTMENT_ID NOT IN (30, 50, 90);
이렇게
=BETWEEN=
WHERE 조건 BETWEEN 조건 AND 조건
SELECT FIRST_NAME, SALARY
FROM EMPLOYEES
WHERE SALARY >= 10000
AND SALARY < 20000;
SELECT FIRST_NAME, SALARY
FROM EMPLOYEES
WHERE SALARY BETWEEN 10000 AND 19999;
LIKE 특정조건 검색 (와일드카드)
컬럼 LIKE '문자%' - '문자'로 끝나는
컬럼 LIKE '%문자' - '문자'로 시작하는
컬럼 LIKE '%문자%' - '문자' 포함하는
컬럼 LIKE 's__' - s로 시작하는 3글자
컬럼 LIKE '__s' - s로 끝나는 3글자
* A로 시작, b로 끝 -> 'A%b'
*이름 두번째가 e -> '_e%'
'학습 기록 > DataBase' 카테고리의 다른 글
23.05.09 / DataBase / ORDER BY, JOIN (0) | 2023.05.09 |
---|---|
23.05.08 / DataBase / GROUP BY, HAVING (0) | 2023.05.08 |
23.05.04 / DataBase / 함수 (0) | 2023.05.07 |
23.05.02 / DataBase / SELECT, DISTINCT (0) | 2023.05.06 |
23.05.01 / DataBase / 데이터 모델링 (0) | 2023.05.06 |