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 순으로 처리된다.

 

💡 조건식에서 컬럼명은 일반적으로 좌측에 위치하지만 우측에 위치해도 정상 작동한다.

 

반응형