목록MSSQL/테이블을 서로 통합하는 조인 (11)
충분히 쌓여가는
단일 행 서브 쿼리서브 쿼리의 결과가 1행만 반환되는 쿼리 WHERE 문에 사용하는 단일 행 서브 쿼리의 기본 형식SELECT [열 이름]FROM [테이블]WHERE [열] = (SELECT [열] FROM [테이블]) WHERE 문에 사용한 서브 쿼리가 한 행을 반환해 최종으로 1건의 데이터만 검색하는 쿼리SELECT * FROM nasdaq_companyWHERE symbol = (SELECT symbol FROM nasdaq_company WHERE symbol IN ('MSFT'));만약 WHERE 문에 사용한 서브 쿼리가 다중 행을 반환하면 비교 연산자 규칙에 어긋나므로 오류가 발생한다. 단일 행 서브 쿼리: 비교 연산자 규칙에 어긋나 오류 발생SELECT * FROM nasdaq_company..
서브 쿼리(SubQuery)쿼리 안에 포함되는 또 다른 쿼리서브 쿼리는 조인하지 않은 상태에서 다른 테이블과 일치하는 행을 찾거나, 조인 결과를 다시 조인할 때 사용할 수 있다. 서브 쿼리의 특징반드시 소괄호로 감싸 사용한다.주 쿼리를 실행하기 전에 1번만 실행된다.비교 연산자에 서브 쿼리를 사용하는 경우 서브 쿼리를 오른쪽에 기술해야 한다.내부에는 정렬 구문인 ORDER BY 문을 사용할 수 있다. WHERE 문에 서브쿼리 사용서브 쿼리 중에서도 WHERE 문에 사용하는 서브 쿼리를 중첩 서브 쿼리(nested subquery)라고 부른다.중첩 서브 쿼리는 조건문의 일부로 사용한다 = 또 다른 SELECT 문을 사용한 결과를 주 쿼리의 조건값으로 사용한다. 서브 쿼리를 비교 연산자 =, , >=, 와 ..
셀프 조인(SELF JOIN)같은 테이블을 사용하는 특수한 조인 셀프 조인 주의사항!!반드시 별칭을 사용해야 한다별칭을 사용하지 않으면 오류가 발생한다 별칭을 사용해 SELF JOIN 한 쿼리의미 없이 셀프 조인의 실행 결과를 보려고 작성한 쿼리SELECT a.symbol, b.company_nameFROM nasdaq_company AS a INNER JOIN nasdaq_company AS bON a.symbol = b.symbol; stock 테이블에서 symbol이 'MSFT'인 주식의 일별 가격이 전일 대비 얼마나 올랐는지 확인하는 쿼리SELECT a.[date] AS a_date, a.[close] AS a_close, b.[date] AS b_date, b.[close] AS b_close,..
교차 조인(CROSS JOIN)자주 사용하는건 아니지만, 각 테이블의 모든 경우의 수를 조합한 데이터가 필요할 경우 교차 조인을 사용할 수 있다.카르테시안 곱(cartesian product)라고도 한다. 교차 조인의 기본 형식SELECT [열 이름]FROM [테이블 1] CROSS JOIN [테이블 2]WHERE [검색 조건]FROM 문에 조인 조건이 없다.한 테이블에 저장된 모든 행이 다른 테이블의 행을 조인하므로 조인 조건이 필요 없다. 두 테이블의 교차 조인하는 과정테이블 A와 테이블 B의 데이터를 서로 조합해 총 9건의 결과가 출력되었다.CROSS JOIN은 사용할 일이 많지는 않지만, 샘플 데이터를 만들거나 각 행에 같은 숫자의 데이터를 만들어야 할 때 활용할 수 있다. CROSS JOIN을 ..