SELECT name, position[조회하고 싶은 attributes] FROM employee[조회할 table_name] WHERE id = 9[조회할 때 한정하고 싶은 조건];
SELECT statement
SELECT attribute(s)
FROM table(s)
[WHERE condition(s)];
SELECT statement 2
project 2002를 리딩(leading)하고 있는 임직원의 ID와 이름과 직군을 알고 싶다.
데이터 조회
SELECT employee.id, employee.name, position[조회하고 싶은 attributes]
FROM project, employee[조회할 table_name]
WHERE project.id = 2002 and project.leader_id = employee.id[조회할 때 한정하고 싶은 조건];
여러 table에서 데이터를 조회할 때는 어떤 table의 attribute인지 명시해주는것이 중요함! 겹치는 attributes는 에러가 발생함!
AS
AS 사용하기
AS는 테이블이나 attribute에 별칭(alias)을 붙일 때 사용한다.
AS는 생략 가능하다.
DISTINCT
DISTINCT 사용하기
디자이너들이 참여하고 있는 프로젝트들의 ID와 이름을 알고 싶다.
DISTINCT 사용 전
DISTINCT 사용 후
DISTINCT는 select 결과에서 중복되는 tuples을 제외하고 싶을 때 사용한다.
LIKE
LIKE 사용하기 1
이름이 N으로 시작하거나 N으로 끝나는 임직원들의 이름을 알고 싶다.
LIKE 사용하기 2
이름에 NG가 들어가는 임직원들의 이름을 알고 싶다.
LIKE 사용하기 3
이름이 J로 시작하는, 총 네 글자의 이름을 가지는 임직원들의 이름을 알고 싶다.
escape 문자와 함께 LIKE 사용하기 3
%로 시작하거나 _로 끝나는 프로젝트 이름을 찾고 싶다면?
LIKE 정리
* (asterisk)
* (asterisk) 사용하기
ID가 9인 임직원의 모든 attributes를 알고 싶다.
(asterisk)는 선택된 tuples의 모든 attributes를 보여주고 싶을 때 사용한다.
SELECT without WHERE
SELECT without WHERE
모든 임직원의 이름과 생일을 알고 싶다.
테이블의 있는 모든 tuples을 반환한다.
주의사항
SELECT 조회 시 주의사항
SELECT로 조회할 때 조건들을 포함해서 조회를 한다면 이 조건들과 관련된 attributes에 index가 걸려있어야 합니다.
그렇지 않다면 데이터가 많아질수록 조회 속도가 느려집니다.
i.g. SELECT * FROM employee WHERE position = 'dev_back'; 여기서 position에 index가 걸려있어야 합니다!