SELECT

SELECT - 기본 문법

SELECT 문은 데이터베이스에서 전체 혹은 특정 데이터를 검색할 때 사용된다. 반환되는 데이터는 임시의 테이블로 구성된다. 검색해서 출력할 칼럼을 하나 혹은 여러 개 나열할 수 있다.

SELECT column1, column2, ...
FROM table_name;

모든 칼럼을 지정할 때에는 *를 사용한다.

SELECT * FROM table_name;

특정한 상수를 출력할 수도 있다.

SELECT column1, 'literal_value' FROM table_name;


칼럼 별명(Alias) 부여하기

위에서 언급했듯이 SELECT 문은 임시의 테이블을 구성하여 반환한다. 이 때, 테이블이나 칼럼명에 일시적인 이름(별명)을 부여할 수 있다. 별명은 주로 가독성을 위해 사용된다. 그리고 일시적으로 사용하는 이름이기 때문에, 쿼리가 유지되는 동안에만 존재한다.

SELECT column_name AS alias_name
FROM table_name;


중복 행 제거하기(Distinct)

SELECT DISTINCT 문을 이용하면 중복되는 행은 제거한 결과값이 반환된다.

SELECT DISTINCT column1, column2, ...
FROM table_name;


WHERE 절

SQL에서 WHERE 는 레코드를 필터링할 때에 사용된다. 특정한 조건을 만족시키는 레코드만 선택할 수 있다. SELECT 뿐 아니라 UPDATE, DELETE 등 다양한 구문에서 사용된다.

SELECT column1, column2, ...
FROM table_name
WHERE condition;


NULL 값

NULL = NULL은 성립되지 않는다. NULL이란 값이 없는 것을 뜻하기 때문에 같거나 다름을 비교할 수 없기 때문이다. 만약 A가 NULL일 때 조건을 ‘A = NULL’ 이라고 작성하면 아무것도 반환하지 않는다. 대신 IS NULLIS NOT NULL을 사용한다.

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

NULL 값이 포함된 칼럼을 선택할 때에는 IFNULL 을 이용해 미리 NULL을 처리할 수 있다. IFNULL(칼럼명, 기본값) 형태를 가진다.

SELECT IFNULL(column_name, 0)
FROM table_name;


주석 작성법

SQL에서 한 줄의 주석을 작성할 때에는 -- 를 사용한다.

SELECT * FROM table;
-- table 테이블의 모든 데이터를 선택한다.

SQL에서 여러 줄의 주석을 작성할 때에는 /* */ 사이에 내용을 넣는다.

SELECT student_name AS name
FROM table1;
/*
table1에서 name 칼럼을 선택하고,
칼럼명은 name으로 표시한다.
*/



References

  • https://www.w3schools.com/Sql/default.asp