검색조건의 지정

Hyun-jin Won·2021년 9월 29일
0

MySQL로 SQL 시작하기

목록 보기
5/24

SELECT 조건설정

SELECT COLUMN1, COLUMN2 ... FROM <테이블명> WHERE 조건식

우리는 SELECT에서 몇가지를 선택하거나, 조건을 설정함으로서 원하는 데이터만을 조회할 수 있다.
이는 전체 조회보다 매우 효율적이며, 유연하게 수정이 가능하다.

1. Column의 지정

SELECT는 COLUMN을 지정함으로, 테이블 전체가 아닌 특정 COLUMN 만을 조회할 수 있다.
또는 추가적으로 계산식 등을 추가하여, 실제 테이블에 존재하지 않는 COLUMN 을 계산을 통해 넣어주는 것도 가능하다.

이 외에 Table에 존재하지 않는 COLUMN 조회는 구문 에러가 발생한다.

SELECT id, name FROM user;
SELECT id, name, (sex = '남') AS ismale FROM user;

2. WHERE에서의 지정

where 에서는 조건을 입력하여 해당 조건에 일치하는 데이터만 가져오는 것이 가능하다.
조건에는 여러 연산자나 특정 연산자를 사용한다. 특히 NULL의 의 판별 여부는 다른 연산자를 사용한다.

a. =

같은 값인지를 비교하는 연산자이다.
일반적으로 우리가 알고있는 == 와 다르다.

SELECT * FROM user WHERE id = 1;

위는 user의 id가 1인 값들을 출력하는 쿼리다.

b. <>

다른 값인지를 확인하는 연산자이다.
일반적으로 우리가 알고있는 != 와 다르다.

SELECT * FROM user WHERE id <> 1;

위는 user의 id가 1이 아닌 값들을 출력하는 쿼리다.

c. >, >=, <, <=

해당 값의 크기를 비교합니다.
재미있는 점은 이는 문자열, 날짜에도 사용할 수 있다.

SELECT * FROM user WHERE CREADTED >= '2020-01-01';

위는 user의 CREATED가 '2020-01-01'이거나 그 이후의 값들을 출력하는 쿼리다.

d. IS [NOT] NULL

NULL의 값은 =를 통해 조회가 불가능하다.
이때는 IS [NOT] NULL이라는 특수연산자를 사용한다.

SELECT * FROM user WHERE state_message IS NULL;

위는 user의 state_message가 NULL인 값들을 조회하는 쿼리이다.

profile
삽질을 주체하지 못하는 잉간

0개의 댓글