2012年8月19日 星期日

0816 SQL

SQL HAVING AND ORDER BY 的順序
JOIN IN

CROSS JOIN


多重 join
按右鍵利用編輯器建立查詢

查詢 4月份客戶進貨多少數量的書籍
join on  and
from 之後 到join 是資料的來源

關於outer join 我搞了好久,老師示範了兩次才做出來,雖然成果出來,其實還是很模糊
自我連結   就是自己 join 自己

甚麼時候要用 outer join 甚麼時候要用 自我連結 甚麼時候要用outer join 這個分際要分清楚
我的了解 不同的資料表 利用關聯及group 要合組成一張報表時 用 inner join
要利用不同的資料表,整理某所有欄位為主 查詢另外的值時 用outer join
利用同一個資料表中 ,查出其相關聯的值(這個很難解釋),如上一張圖範例,利用員工資料表中的員工編號及主管欄位的值,建立連結(join),查詢主管及員工的關系圖。


子查詢 (用了兩個做法)查出4月份有訂單的客戶名稱
利用子查詢的效率較好!!!
查出大於平均訂單銷售數量的訂單
步驟 以數量與平均數做比較 平均數是一個子查詢 (為唯一個值)


占比

子查詢的注意事項
where in 時比較的子查詢同一個欄位可以有多個值,但
where > or < 時 的子查詢值只能有單一個欄位單一個值
否則會出錯!!!
where 數值 > (原只可唯一個值) 也可改成 ALL (?,?,?) (就是大於子查詢比中的每一個值)
           這樣的寫法不實際 通常大於子查詢的值 就用max() 取單一個值就解決且檢單明瞭
ANY也是

我自己為自己設的題目
查詢出4月份書店的銷售總額 及 SHOW出4月份平均及4月份銷量佔比




沒有留言:

張貼留言