다음을 통해 공유


FROM 절 사용

FROM 절은 테이블이나 뷰에서 데이터를 검색하는 모든 SELECT 문에서 필요합니다. FROM 절을 사용하면 다음을 수행할 수 있습니다.

  • SELECT 목록과 WHERE 절에서 참조되는 열이 포함된 테이블과 뷰를 나열합니다. 테이블이나 뷰 이름은 AS 절을 사용하여 별칭을 지정해도 됩니다.
  • 유형을 조인합니다. 이것은 ON 절에 지정된 조인 조건에 의해 한정됩니다.

FROM 절은 테이블 이름과 뷰 이름, JOIN 절로 구성된 쉼표로 구분된 목록입니다.

Transact-SQL 은 FROM 절에서 테이블이나 뷰가 아닌 개체 사양을 지원하는 확장 기능을 제공합니다. 이러한 다른 개체들은 가상 테이블을 형성하는 결과 집합 또는 OLE DB 용어로 행 집합을 반환합니다. SELECT 문은 이러한 결과 집합이 테이블인 것처럼 실행됩니다.

FROM 절에는 다음을 지정할 수 있습니다.

  • 하나 이상의 테이블이나 뷰. 예를 들면 다음과 같습니다.

    SELECT *
    FROM SalesOrderHeader
    
  • 둘 이상의 테이블이나 뷰 간의 조인

    SELECT Cst.CustomerID, St.Name, Ord.ShipDate, Ord.Freight 
    FROM AdventureWorks.Sales.Store AS St
    JOIN AdventureWorks.Sales.Customer AS Cst
    ON St.CustomerID = Cst.CustomerID
    JOIN AdventureWorks.Sales.SalesOrderHeader AS Ord
    ON Cst.CustomerID = Ord.CustomerID
    
  • FROM 절에서 별칭이나 사용자 지정 이름에 의해 참조되는 SELECT 문인 하나 이상의 파생 테이블. FROM 절에서 SELECT의 결과 집합은 외부 SELECT 문에서 사용되는 테이블을 형성합니다. 예를 들어 다음 SELECT 문은 파생 테이블을 사용하여 각 직원이 거주하는 도시를 반환합니다.

    USE AdventureWorks ;
    GO
    SELECT RTRIM(c.FirstName) + ' ' + LTRIM(c.LastName) AS Name,
     d.City
    FROM Person.Contact c
    INNER JOIN HumanResources.Employee e ON c.ContactID = e.ContactID 
    INNER JOIN (SELECT AddressID, City FROM Person.Address) AS d
    ON e.AddressID = d.AddressID
    ORDER BY c.LastName, c.FirstName ;
    
  • 조인과 더불어 FROM 절에 APPLY 연산자를 사용하여 오른쪽 입력 값(대개 테이블 값 함수)을 왼쪽 입력 테이블의 모든 행과 비교한 후 각각의 결과를 병합할 수 있습니다. 자세한 내용은 APPLY 사용을 참조하십시오.

  • FROM 절에 PIVOT과 UNPIVOT 연산자를 사용하여 입력 테이블의 모양을 바꿀 수 있습니다. PIVOT 연산자는 입력 열의 값을 기반으로 출력에서 새 열을 생성합니다. 자세한 내용은 PIVOT 및 UNPIVOT 사용을 참조하십시오.

  • sp_addlinkedserver를 사용하여 정의된 연결된 서버에 있는 하나 이상의 테이블 또는 뷰. 모든 OLE DB 데이터 원본이 연결된 서버가 될 수 있습니다.

  • OPENROWSET 또는 OPENQUERY 함수에서 반환된 OLE DB 행 집합

Microsoft SQL Server 2005 분산 쿼리의 기본은 연결된 서버, OPENROWSET 및 OPENQUERY입니다. 이들은 Transact-SQL 문의 일부로 OLE DB 데이터 원본의 데이터를 쿼리하거나 수정하는 기능을 제공합니다.

FROM 절이 없는 SELECT 문

FROM 절이 필요 없는 SELECT 문은 데이터베이스의 테이블에서 데이터를 선택하지 않는 경우입니다. 이러한 SELECT 문은 로컬 변수나 열에서 실행되지 않는 Transact-SQL 함수에서만 데이터를 선택합니다. 예를 들면 다음과 같습니다.

SELECT @MyIntVariable
SELECT @@VERSION
SELECT DB_ID('AdventureWorks')

참고 항목

개념

분산 쿼리
조인 사용

관련 자료

OPENQUERY(Transact-SQL)
FROM(Transact-SQL)
OPENROWSET(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기