dbms ไทย บทที่ 08 การใช้งานคำสั่ง select...

38
บบบบบ 8 บบบบบบบบบบบบบบบบ SELECT บบบบบบบ สสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสส สสสสสสส SELECT สสสสสสสสสสสสสสส สสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส SELECT สสสสสสสสสสสสสสสสสสส สสสสสสสสสส, สสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสส สสสสสสส สสสสสสส สสสสสสสสสสสสสสสสส (SUBQUERY), สสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสส SELECT สส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสส สสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสส สสสสส สสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสส สสส สสสสสสสสสสสส SELECT สสสสสสส สสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสส สสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสส TblCustomers, TblOrders สสส TblOrdersDetails สสสสสสส บบบบบบบบบบบบบบบบบบบบบ GROUP BY บบบ HAVING สสส GROUP BY สสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสส (Aggregate Function) สสสสสสสสสสสสส Aggregate สสส สสส

Upload: know2pro

Post on 27-Sep-2015

251 views

Category:

Documents


14 download

DESCRIPTION

DBMS ไทย บทที่ 08 การใช้งานคำสั่ง SELECT ขั้นสูง

TRANSCRIPT

8 SELECT

8 SELECT SELECT SELECT , (SUBQUERY), SELECT

SELECT TblCustomers, TblOrders TblOrdersDetails GROUP BY HAVING

GROUP BY (Aggregate Function) Aggregate SQL SERVER 2005 Aggregate Aggregate Function

AVGMAXMINSUMCOUNTSTDEVSTDEVPVARVARP

Aggregate (OrderID) (ProductCount) TblOrderDetails 10278

SUM 10278 16+31+4=51

Note

SQL SERVER 2005

SELECT SUM 10278 GROUP BY Aggregate

GROUP BY ( OrderID) SUM

GROUP BY 30 HAVING WHERE

HAVING 30

GROUP BY Aggregate Aggregate GROUP BY Aggregate Aggregate

OrderID ProductCount SUM GROUP BY

1 GROUP BY GROUP BY Aggregate GROUP BY

ProductName Aggregate GROUP BY

GROUP BY SELECT FROM

OrderID GROUP BY SELECT TblOrderDetails

HAVING WHERE WHERE Aggregate WHERE Aggregate HAVING Aggregate

WHERE NULL ALL GROUP BY ORDER BY

ORDER BY ORDER BY 2 1. SELECT 2.

ASC DESC ASC ProductCount 3 ProductCount SELECT OrderID ProductCount

SELECT SELECT ProductID ProductName TblProducts ProductCount TblOrderDetails

ProductID TblProducts ProductID TblOrderDetails ProductID TblOrderDetails

SELECT JOIN Inner Join Outer Join Inner Join Self Join Inner Join ( ZipCide) TblCustomers Cross Join Inner Joins

Inner Joins 2 =, >, <

TblProducts Inner Joins ProductID TblProducts ProductID TblOrder Details = (ProductID) TblOrder Details

Transact-SQL Inner Joins TblProducts Inner Joins TblProducts TblOrder Detail

Cross Joins

Cross Joins Cartesian Product Cross Joins

Cross Joins TblOrders TblOrderDetails

Outer Joins

Inner Joins Inner Joins

Inner Joins ProductID TblProduct ProductID TblOrderDetails Outer Joins Outer Joins Outer Joins 3 Left Outer JOIN Inner Joins Left Outer JOIN NULL

Left Outer JOIN Table1 Table2 Left Outer JOIN COLUMN2=COLUMN3 2 (D E) Table1 Left Outer JOIN ( C D) Table2 NULL

Transact-SQL Left Outer JOIN Inner Join Inner Join Left JOIN ProductCount TblOrderDetails Left Outer JOIN ProductCount NULL NULL

Right Outer JOIN Left Outer JOIN Right Outer JOIN Right Outer JOIN Right Outer JOIN NULL

Full Outer JOIN Left Outer JOIN Right Outer JOIN Full Outer JOIN

Self Joins

Self Joins Inner Joins Self Joins Zipcode () TblCustomers Zipcode Orders

Self Joins TblCustomers ZipCode

Transact-SQL TblCustomers OtherCus NOT LIKE

SUBQUERY

(SUBQUERY) SELECT SELECT SELECT

GOOFY GOOFY 1. Transact-SQL GOOFY SELECT GOOFY2. GOOFY

3. Transact-SQL SELECT ZipCode 10110 GOOFY

SUBQUERY

< , >, = 10110 GOOFY

GOOFY () SOME, ANY, ALL = SOME, ANY =ANY

SOME, ANY GOOFY ()

ALL >, <

2 (CategoryID=2) Note

ORDER BY SELECT

SUBQUERY [NOT] IN

IN =ANY, =SOME NOT IN < > ALL [NOT] EXISTS

EXISTS EXISTS EXISTS TRUE

TblProducts TblOrderDetails EXIST TRUE WHERE TblProducts

NOT EXISTS EXISTS EXISTS SELECT * EXISTS Correlated SUBQUERY

Correlated SUBQUERY Correlated SUBQUERY WHERE FROM SELECT Correlated SUBQUERY ProductID TblProducts

WHERE ProductID TblProducts FROM SELECT Correlated SUBQUERY

Correlated SUBQUERY SUBQUERY

SELECT SELECT ORDER BY TOP INTO ntext, text image =, >, < GROUP BY HAVING ANY, ALL, SOME

SELECT INTO

INTO SELECT INTO SQL SERVER 7.0 INTO select into / bulkcopy SQL SERVER 2000 2005 Aggregate CREATE TABLE XREATE TABLE

INTO New_Table ProductCount Aggregate Sum Of ProductCount

SELECT UNION

SELECT UNION SELECT UNION

UNION SELECT SELECT UNION SELECT ORDER BY SELECT UNION ALL UNION

UNION SELECT ProductID ProductName TblProducts SELECT CustomerID CustomerName TblProducts UNION ProductName