SELECT statement
SELECT attribute(s)
FROM table(s)
[WHERE condition(s)];
SELECT employee.id, employee.name, position
FROM project, employee
WHERE project.id = 2002 and project.leader_id = employee.id;
-- 서로다른 테이블이지만 attribute name이 같을 경우 테이블이름을 같이 써준다.
AS 사용하기
- AS는 테이블이나 attribute에 별칭(alias)을 붙일때 사용
- AS는 생략 가능
SELECT E.id AS leader_id, E.name AS leader_name, position
FROM project AS P, employee AS E
WHERE P.id = 2002 and P.leader_id = E.id;
DISTINCT 사용하기
- DISTINCT는 select 결과에서 중복되는 tuples은 제외하고 싶을 때 사용한다
SELECT DISTINCT P.id, P.name
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;
LIKE 사용하기
-- 이름이 N으로 시작하거나 N으로 끝나는 직원
SELECT name
FROM employee
WHERE name LIKE 'N%' or name LIKE '%N';
-- J로 시작하면서 총 네글자
SELECT name
FROM employee
WHERE name LIKE 'J___';
escape 문자와 함께 LIKE 사용하기
%, _ 처럼 특정한 의미를 나타내는 문자를 문자그대로로 사용할 때는 앞에 \를 붙여 사용한다.
-- %로 시작하거나 _로 끝나는 프로젝트 이름 찾고싶다면?
SELECT name
FROM project WHERE name LIKE '\\%%' or name LIKE '%\\_';
*(asterisk) 사용하기
- *(asterisk)는 선택된 tuples의 모든 attributes를 보여주고 싶을 때 사용한다
SELECT without WHERE
- 테이블에 있는 모든 tuples을 반환한다
'STUDY > database' 카테고리의 다른 글
| [MySQL]데이터 조회(3) NULL (0) | 2023.11.27 |
|---|---|
| [MySQL] 데이터 조회(2) subquery (0) | 2023.11.27 |
| [MySQL] 데이터 추가, 수정, 삭제 (0) | 2023.11.23 |
| [DB] constrains(제약사항) 설정 (0) | 2023.11.21 |
| DB구축 예시 (1) | 2023.11.21 |