SQL 89 : WHERE절에 조인 조건 포함!!!
SELECT 컬럼명
FROM R, S
WHERE R.A <조인 조건> S.B
구 표준 방식은 외부 조인(outer join)을 지원하지 않음
SQL 92 : ON 절에 조인 조건 따로 표시!!!
SELECT 컬럼명
FROM R
INNER JOIN S
ON R.A <조인 조건> S.B
: 카티션 곱 생성하는 조인
--(SQL 89)
select *
from department, employee
--(SQL 92)
select *
from department cross join employee
: 자기 자신과 조인
--(SQL 89)
SELECT 컬럼들
FROM R AS R1, R AS R2
WHERE R1.A <조인조건> R2.B
--(SQL 92)
SELECT 컬럼들
FROM R AS R1
INNER JOIN R AS R2
ON R1.A <조인조건> R2.B
SELECT문 안에 포함된 쿼리
INSERT, DELETE, UPDATE문에도 포함될 수 O
SELECT... FROM... WHERE or HAVING절(SELECT... FROM... WHERE...)
서브 쿼리는 또 다른 서브 쿼리를 포함할 수 있음
- IN 은 '= ANY'와 같은 표현
- NOT IN 은 <> ALL
- ANY는 SOME
서브 쿼리에서 외부 쿼리의 일부 컬럼을 참조
외부 쿼리의 현재 순서 행이 후보 행이 됨
이 행의 어떤 컬럼 값으로 서브 쿼리 1번 수행
서브 쿼리의 결과 따라 현재 후보 행이 결과에 들어갈지 결정
이걸 외부 쿼리의 모든 행에 대해 반복
-- 서브 쿼리의 조건을 만족하는 행의 존재 여부만 테스트하는 거라서
열 이름 안 나열해도 됨!
ex) WHERE ~ EXISTS(SELECT 1 FROM ~ WHERE~) / EXISTS(SELECT * FROM~WHERE~)
📌 INSERT INTO 테이블명 VALUES (값 리스트);
테이블명(컬럼 리스트)로 써도 됨
📌 DELETE FROM 테이블명 [WHERE 절];
📌 **UPDATE 테이블 SET 컬럼 = 값, 컬럼 = 값,... [WHERE 절];