목록MSSQL (54)
충분히 쌓여가는
다중 행 서브 쿼리서브 쿼리에서 반환되는 결과가 2행 이상인 경우IN 문WHERE 절에 있는 IN 문의 소괄호가 서브 쿼리를 안고 있다. WHERE 문에 사용하는 다중 행 서브 쿼리의 기본 형식SELECt [열 이름]FROM [테이블]WHERE [열] IN (SELECT [열] FROM [테이블]) 단일 행 서브 쿼리와 다중 행 서브 쿼리 비교SELECT * FROM nasdaq_companyWHERE symbol IN ('MSFT', 'AMD', 'AMZN');SELECT * FROM nasdaq_companyWHERE symbol IN (SELECT symbol FROM nasdaq_company WHERE symbol IN ('MSFT', 'AMD', 'AMZN'));서브 쿼리에서 검색된 3개의 행..
단일 행 서브 쿼리서브 쿼리의 결과가 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,..