MSSQL 7 0 Implementation Written by SELECT title
MS-SQL 7. 0 Implementation 강의 노트 Written by 남현주
예) SELECT title FROM titles WHERE title_id IN (SELECT title_id FROM sales) 위의 문장은 아래와 같다. (조인으로…) SELECT DISTINCT title FROM titles t JOIN sales s ON t. title_id = s. title_id
예) SELECT stor_name, ‘Title’ = convert(char(30), t. title), qty FROM sales s JOIN title t ON s. title_id = t. title_id JOIN store st ON s. stor_id = st. stor_id WHERE qty = ( SELECT MAX(qty) FROM sales s 2 WHERE s 2. stor_id = s. stor_id) ORDER BY stor_name, Title sales 테이블에서 각 서점에서 팔린 베스트셀러 의 책번호(제목)과 수량을 가져오는 것
예) USE Northwind SELECT last. Name, employee. Id FROM employees e WHERE EXISTS (SELECT * FROM orders WHERE e. employee. Id = orders. employee. Id AND orderdate = ‘ 9/5/97’)
예) USE Northwind DECLARE tbl_space CURSOR FOR SELECT name FROM sysobjects WHERE type = 'U' ORDER BY name OPEN tbl_space DECLARE @tbl_name sysname FETCH NEXT FROM tbl_space INTO @tbl_name WHILE (@@FETCH_STATUS = 0) BEGIN EXEC sp_spaceused @tbl_name FETCH NEXT FROM tbl_space INTO @tbl_name END CLOSE tbl_space DEALLOCATE tbl_space
예) BEGIN TRAN DELETE t 2 WHERE id IN ( SELECT id FROM t 1 ) SELECT * FROM t 1 SELECT * FROM t 2 ROLLBACK TRAN -- COMMIT TRAN
다른 테이블을 기반으로 수정하기 예) USE Northwind UPDATE Products SET To. Date. Sales = To. Date. Sales + od. Quantity FROM Products INNER JOIN [Order Details] od ON Products. Product. ID = od. Product. ID 상품 테이블에서 각 상품의 누적 판매량을 갱신 하기 위해 조인을 사용한다.
* ISNULL(오라클의 NVL) ISNULL(표현식, 널 일때의 값) 예) SELECT AVG(ISNULL(price, 0)) FROM pubs. . titles -- 1) SELECT AVG(price) FROM pubs. . titles -- 2) 둘의 결과는 다르다. 이유는 SELECT SUM(price) / 18 FROM pubs. . titles -- 1) SELECT SUM(price) / 16 FROM pubs. . titles -- 2) 인 셈이다.
예) SELECT type, title_id, price FROM titles ORDER BY type COMPUTE avg(price) BY type ( COMPUTE avg(price) -- 전체 평균을 얻기 위 해서는 COMPUTE만 사용하면 된다. ) 규칙: COMPUTE BY를 사용하려면 ORDER BY가 COMPUTE BY 앞에 반드시 와야 하고, 또 ORDER BY에서 지정된 순서대로, 또는 그 일부분의 순서대로 COMPUTE BY 를 사용해야 한다. COMPUTE인 경우는 ORDER BY가 없어도 된다.
(ROLLUP과 CUBE) 데이터웨어하우징, 데이터마트, 데이터 마이닝들을 위해 만들어진 키워드 이다. 예) SELECT type, pub_id, AVG(price) FROM titles GROUP BY type, pub_id WITH ROLLUP SELECT pub_id, type, AVG(price) FROM titles GROUP BY pub_id, type WITH CUBE
- Slides: 40