SQL Server(T-SQL)에서 FROM 절은 쿼리가 데이터를 가져올 대상 테이블을 지정하는 역할을 합니다. SELECT 문에서 필수적으로 사용되며, 하나 이상의 테이블을 나열하고 필요에 따라 조인(Join) 조건을 함께 정의할 수 있습니다.
FROM 절 기본 문법
FROM table1
[ { INNER JOIN
| LEFT OUTER JOIN
| RIGHT OUTER JOIN
| FULL OUTER JOIN } table2
ON table1.cot1 = table2.cot1 ]
매개변수 및 값 설명
- table1, table2: SQL 문에서 조회에 사용되는 테이블입니다. 두 테이블은
table1.cot1 = table2.cot1조건에 따라 서로 연결됩니다.
사용 시 주의 사항
- FROM 절에는 최소 1개의 테이블이 반드시 포함되어야 합니다.
- 테이블이 2개 이상일 경우, 일반적으로 INNER JOIN 또는 OUTER JOIN 키워드를 사용해 연결합니다. 과거에는 WHERE 절에서 조인 조건을 작성하는 구식 방식도 사용되었지만, 현재는 FROM 절에서 조인 규칙을 명시하는 ANSI 표준 방식을 사용하는 것이 권장됩니다.
예제 1. 단일 테이블 조회
SELECT *
FROM nhanvien
WHERE ten = 'Jane';
위 예제는 FROM 절을 사용해 nhanvien(직원) 테이블만 조회합니다. 다른 테이블과의 조인 없이 단일 테이블에서 조건에 맞는 데이터를 가져오는 가장 기본적인 형태입니다.
예제 2. INNER JOIN으로 두 테이블 조회
SELECT nhacungcap.nhacungcap_id, nhacungcap.nhacungcap_ten, donhang.donhang_ngay
FROM nhacungcap
INNER JOIN donhang
ON nhacungcap.nhacungcap_id = donhang.nhacungcap_id;
이 예제에서 FROM 절은 nhacungcap(공급업체)과 donhang(주문) 두 개의 테이블을 지정하고, 양쪽 테이블에 모두 존재하는 nhacungcap_id 열을 기준으로 INNER JOIN으로 연결합니다. INNER JOIN은 두 테이블 모두에 일치하는 값이 있는 행만 결과로 반환합니다.
예제 3. LEFT OUTER JOIN으로 두 테이블 조회
SELECT nhanvien.nhanvien_id, danhba.ho
FROM nhanvien
LEFT OUTER JOIN danhba
ON nhanvien.nhanvien_id = danhba.danhba_id
WHERE nhanvien.ten = 'Sarah';
이번에는 FROM 절에서 nhanvien(직원)과 danhba(연락처) 두 테이블을 지정하고, nhanvien_id 열을 기준으로 LEFT OUTER JOIN으로 연결합니다. LEFT OUTER JOIN은 왼쪽 테이블(nhanvien)의 모든 행을 반환하며, 오른쪽 테이블(danhba)에 일치하는 데이터가 없으면 해당 열은 NULL로 표시됩니다.
정리
FROM 절은 단순히 테이블을 나열하는 것을 넘어, 조인 방식과 조건을 명확히 정의하는 핵심 요소입니다. 특히 여러 테이블을 다룰 때는 WHERE 절을 이용한 구식 조인 방식보다 FROM 절에서 INNER JOIN, LEFT/RIGHT/FULL OUTER JOIN을 명시하는 표준 문법을 사용하는 것이 가독성과 유지보수 측면에서 훨씬 유리합니다.