반응형
DB 서브쿼리 서브쿼리 서브쿼리 중요 (여러번날릴 쿼리를 한방에 할수있단다) 한방쿼리
서브쿼리를 안쓰면 쿼리를 나누어날려야한다
USE NorthWind
SELECT categoryid, categoryname -- 1
FROM categories
WHERE categoryname = 'Dairy products'
SELECT * --2
FROM products
WHERE categoryid =
SELECT * --3 (서브쿼리단점 속도가 느리다 SELCET 가 2번나와서)
FROM products
WHERE categoryid =(
SELECT categoryid
FROM categories
WHERE categoryname = 'Dairy products' -- products의 내용만 나온다
)
-- 조인의 단점 (조인속도가 훨신빠르다)
SELECT p.productid , p.productname, p.supplierid, p.categoryid, p.quantityperunit -- 기티생략
FROM categories AS c, products AS p
WHERE c.categoryid = p.categoryid
AND c.categoryname = 'Dairy products'
결과는 같다
/////////////////////////////// 서브 쿼리 //////////////////////////////
SELECT categoryid , SUM(unitprice)
FROM products
WHERE categoryid = 4
GROUP BY categoryid
--->
SELECT categoryid, (SELECT categoryname FROM categories WHERE categoryid =4) AS 'categoryname' , SUM(unitprice)
FROM products
WHERE categoryid = 4
GROUP BY categoryid
--------------------
SELECT productid , productname, unitprice
FROM products
WHERE categoryid =5
-------------------- 서브쿼리 예 서브쿼리는 DELETE INERT INTO 다된다
SELECT SUM(a.unitprice)
FROM
(
SELECT productid , productname, unitprice
FROM products
WHERE categoryid =5
)AS a -- 가상 테이블
SELECT SUM(a.unitprice)
FROM
(
SELECT productid , productname, categoryid, unitprice
FROM products
WHERE categoryid =5
)AS a , categories AS c
WHERE a.categoryid = c. categoryid
'Database' 카테고리의 다른 글
DB INSERT {INTO} table_name {(insert_column_list)}SELECT insert_values_listF WHERE search_conditionROM table_name insert select (0) | 2008.11.12 |
---|---|
데이터베이스 모델링 ,관계형 데이터베이스 관리 시스템 (0) | 2008.11.06 |
DB 스터디 문서 오픈과제 쿼리 교도소 탈출하기 (0) | 2008.11.06 |
요구사항 명세서 실체관계분석, 속성분석 이름영문화 도메인 정의 논리적 데이터 모델링 물리적데이터모델 쇼핑몰프로젝트 용어사전 (0) | 2008.11.05 |
DB CASE 문활용 (원래있는 값을 비교해서 가져올때) (0) | 2008.10.31 |
DB UNIO 합집합 유니온 (0) | 2008.10.31 |
DB 인덱스 (0) | 2008.10.30 |
DB MSSQL 2005를 2000으로 설정하기 (0) | 2008.10.30 |