JOIN 명령어는 기본적으로 두 테이블을 묶어서 하나의 테이블을 만드는 명령어이다. 기본적인 형태는 다음과 같다.
기본적으로 위 그림처럼 JOIN명령어를 쓰지않고 FROM뒤에 테이블A,B만 입력하면 두 테이블의 JOIN이 완료된다. 그러나 다양한 조건을 걸어 JOIN을 실행할 수도 있다. INNER/OUTER JOIN, LEFT/RIGHT JOIN이 그것이다. INNER/OUTER는 교집합/합집합의 개념이다. LEFT/RIGHT는 기본적으로 OUTER JOIN에 속하지만, LEFT의 경우 왼쪽테이블에 있는 컬럼은 모두 남기고, RIGHT의 경우 반대이다. ON 명렁어를 통해 조인조건을 삽입할 수 있다.
SQL문 내에서 또다른 SQL문을 작성하는 방법이다. 가장 기본적인 예시 형식으로 SELECT문의 WHERE절에 또다른 SELECT문을 삽입하는 형식이 있다. 다음 예시를 보자.
1. SELECT MAX(price) FROM orders
2. SELECT orderid, custid, prodname FROM orders WHERE price = 10000
3. SELECT orderid, custid, prodname FROM orders
WHERE price =(SELECT MAX(price) FROM orders)
1 번 쿼리는 orders테이블에서 price값이 MAX(=10000)인 데이터를 추출하는 쿼리이고 2번쿼리는 price값이 10000인 orderid, custid, prodname를 orders테이블에서 추출하는 쿼리이다. 서브쿼리를 통해 3번처럼 두 쿼리를 하나의 쿼리로 통합할 수 있음을 알 수 있다.