SQL/SQL_이론
WHERE 절
2주녘
2024. 6. 25. 22:51
반응형
INSERT를 제외한 DML문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문
SELECT 컬럼명1, 컬럼명2, ... FROM 테이블명 WHERE 조건절;
SELECT * FROM employees
WHERE gender = 'M';
UPDATE 테이블명 SET 컬럼명 = 새로운데이터 WHERE 조건절;
DELETE FROM 테이블명 WHERE 조건절;
(1) 비교 연산자
연산자의미예시
= | 같음 | WHERE COL = 10 |
< | 작음 | WHERE COL < 10 |
< = | 작거나 같음 | WHERE COL < = 10 |
> | 큼 | WHERE COL > 10 |
> = | 크거나 같음 | WHERE COL > = 10 |
다음 쿼리는 first_name이 Georgi인 행을 조회한다.
SELECT first_name, last_name, gender FROM employees
WHERE first_name = 'Georgi';
다음 쿼리는 salary가 60000보다 작은 행을 조회한다.
select emp_no, salary from salaries
where salary < 60000;
다음 쿼리는 first_name과 Georgi의 데이터 타입이 맞지 않아 에러가 발생한다.
SELECT first_name, last_name, gender FROM employees
WHERE first_name = Georgi;
💡 first_name과 같은 문자형 컬럼을 비교 조건으로 사용하려면 우측 상수값을 반드시 인용부호로 감싸주어야 한다.
(2) 부정 비교 연산자
연산자의미예시
! = | 같지 않음 | where col ! = 10 |
^= | 같지 않음 | where col ^= 10 |
<> | 같지 않음 | where col <> 10 |
not 컬럼명 = | 같지 않음 | where not col = 10 |
not 컬럼명 > | 크지 않음 | where not col > 10 |
다음 쿼리는 first_name 이 Georgi 가 아닌 행을 조회한다.
SELECT first_name, last_name, gender FROM employees
WHERE first_name <> 'Georgi';
💡 논리 연산자는 SQL에 명시된 순서와는 관계없이 () → NOT → AND → OR 순으로 처리된다.
💡 조건식에서 컬럼명은 일반적으로 좌측에 위치하지만 우측에 위치해도 정상 작동한다.
반응형