목록전체 글 (639)
충분히 쌓여가는
서브 쿼리(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을 ..
INNER JOIN은 두 테이블은 조인해 조인 조건으로 사용한 열에 있는 같은 값을 조합해 검색했다하지만 다른 테이블에 있는 행에서 일치 항목이 아닌 행을 조합해 검색해야 할 때도 있다.그런 경우 외부 조인(OUTER JOIN)을 사용한다. 외부 조인은 열의 일치 항목을 고려하지 않고, 한쪽 테이블을 다른 쪽 테이블에 조합할 때 사용한다. 외부 조인의 기본 형식SELECT [열 이름]FROM [테이블 1] OUTER JOIN [테이블 2] ON [테이블 1.열] = [테이블 2.열]WHERE [검색 조건] LEFT OUTER JOINA, B 테이블이 좌우에 있다고 생각했을 때 A 테이블을 기준으로 B 테이블을 조인하고 싶다면 LEFT를 사용하고, B 테이블을 기준으로 A 테이블을 조인하고 싶다면 RIGH..