목록분류 전체보기 (639)
충분히 쌓여가는
SELECT 문에 사용하는 서브 쿼리는 반드시 1개의 행을 반환해야 하므로 SUM, COUNT, MIN, MAX 등의 집계 함수와 함께 사용하는 경우가 많다.하지만 성능 문제가 생기기 쉬우므로 SELECT 문에서는 서브 쿼리의 집계 함수와 함께 사용하지 않는 것이 좋다. 스칼라 서브 쿼리(Scalar Subquery)SELECT 문에 사용된 서브 쿼리스칼라 서브 쿼리는 1개 이상 사용할 수 있다 스칼라 서브 쿼리의 기본 형식SELECT [열 이름], (SELECT [열 이름] FROM [테이블 2] WHERE [테이블 2.열] = [테이블 1.열]) as AliasFROM [테이블 1]WHERE [조건] 스칼라 서브 쿼리 사용-- 테이블 조인SELECT a.symbol, a.company_name..
인라인뷰(Inline View) FROM 문에 사용하는 서브 쿼리 결과는 조인할 수 있으므로 쿼리를 논리적으로 격리할 수 있다. FROM 문에 사용하는 서브 쿼리의 기본 형식SELECT [열 이름]FROM [테이블] AS aINNER JOIN (SELECT [열] FROM [테이블] WHERE [열] = [값]) AS b ON [a.열] = [b.열]WHERE [열] = [값]; 인라인뷰에 INNER JOIN을 활용한 서브 쿼리-- 테이블 조인SELECT a.symbol, a.company_name, a.ipo_year, a.sector, a.industry, b.date, b.[open], b.[high], b.[low], b.[close], b.adj_close, b.volumeFROM nasdaq_..
다중 행 서브 쿼리서브 쿼리에서 반환되는 결과가 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..