SQL 데이터 조회
JeongSeulho
2025년 01월 05일
준비중...
클립보드로 복사
데이터 조회
연관된 2개의 테이블에서 데이터 조회
- 프로젝트 2002의 리더인 직원의 id, 이름, 직군 조회
SELECT employee.id, employee.name, position -- projection attribute
FROM employee, project -- 관련된 테이블
WHERE project.id = 2002 AND project.leader_id = employee.id; -- selection condition AND join condition
- 얻고자 하는 데이터의 attribute를
rojection attribute
- 여러 tuple에서 선택하고자 하는 tuple의 조건을
selection condition
위에서의 (project.id = 2002) - 두 테이블을 연관시키는 조건을
join condition
위에서의 (project.leader_id = employee.id)
연관된 3개의 테이블, 중복 제거 조회
- 디자이너들이 참여하고 있는 프로젝트들의 id와 이름 조회
SELECT DISTINCT P.id, P.name -- DISTINCT는 해당 attribute 조합이 중복되는 경우 제거
FROM employee as E, works_on as W, project as P
WHERE E.position = 'DSGN' AND E.id = W.empl_id AND W.proj_id = P.id; -- join condition이 2개
- 중복된 tuple을 제거하기 위해
DISTINCT
사용
문자열 조건으로 조회
- 이름이 N으로 시작 또는 끝나는 직원의 이름 조회
SELECT name
FROM employee
WHERE name LIKE 'N%' OR name LIKE '%N';
- 이름에 NG가 포함된 직원의 이름 조회
SELECT name
FROM employee
WHERE name LIKE '%NG%';
- 이름이 J로 시작하면서 4글자인 직원의 이름 조회
SELECT name
FROM employee
WHERE name LIKE 'J____';
%
,_
를 reserved character라 함\
(escape character)를 사용하여 이스케이프 가능