SELECT
姓名 ,
IIF([員工性別],'男','女') AS 性別 ,
IIF([婚姻狀況],'己婚','未婚') AS 婚姻,
datediff('yyyy',[出生日期],
date()) AS 年齡 ,
partition([年齡],20,119,20) AS 年齡層,
起薪, 目前薪資,
([目前薪資]-[起薪]) AS 加薪幅度
FROM 飛狐工作室
連結 3
SELECT
count ( * ) AS 人數 ,
max( [目前薪資 ] ) AS 最高薪資 ,
min ( [目前薪資 ] ) AS 最低薪資 ,
avg ( [目前薪資 ] ) AS
平均薪資
FROM 飛狐工作室
連結 6
排序查詢
SELECT
部門 ,
IIF([員工性別],'男','女') AS 性別,
IIF([婚姻狀況],'己婚','未婚') AS 婚姻 ,
目前薪資
FROM 飛狐工作室
ORDER BY 部門 DESC ,
IIF([員工性別],'男','女') DESC ,
IIF([婚姻狀況],'己婚','未婚') DESC ,
目前薪資 DESC
連結 12
SELECT
姓名 ,
IIF([員工性別],'男','女') AS 性別 ,
目前薪資 ,
部門
FROM 飛狐工作室
WHERE IIF([員工性別],'男','女') <> '女'
( Where 員工性別 = true )
連結 17
SELECT 姓名, IIF([員工性別],'男','女') AS 性別, 出生日期
FROM 飛狐工作室
WHERE 出生日期
in(#1967/9/26#,#1976/11/17#,#1978/02/20#)
ORDER BY 部門
WHERE 部門
not in('財務部','生產製造部')
WHERE 目前薪資 between 30000 and 40000
WHERE 出生日期 between #1982/6/1# and #1982/6/30#
WHERE 目前薪資 NOT between 30000 and 40000
連結 22
SELECT 姓名, 玉照, 自傳, 部門
FROM 飛狐工作室
WHERE (自傳
IS NOT NULL) AND (玉照
IS NOT NULL)
ORDER BY 姓名
連結 23
SELECT 部門, 姓名, IIF([員工性別],'男','女') AS 性別, IIF([婚姻狀況],'己婚','未婚')
AS 婚姻,
目前薪資, 雇用日期, 自傳, 玉照
FROM 飛狐工作室
WHERE
(部門 in('資訊部','財務部','業務部'))
AND ((IIF([員工性別],'男','女')='男')
AND (IIF([婚姻狀況],'己婚','未婚')='己婚'))
AND (目前薪資 between 50000 and 55000)
AND (雇用日期>=#1994/1/10#) AND (自傳 is not null)
AND (玉照 is not null)
ORDER BY 部門 asc
(datediff('yyyy',[出生日期],date())
between 40 and 45)
Month([出生日期]) = Month(date())
連結 24
SELECT
COUNT ( * )
AS 所有查詢的人數
FROM 飛狐工作室
WHERE (部門 in('資訊部','財務部','業務部')) AND (目前薪資 between 50000 and 55000) AND
(雇用日期>=#1994/1/10#) AND (自傳 is not null) AND (玉照 is not null)
連結 36
SELECT 姓名, 住家地址
FROM 飛狐工作室
WHERE
(姓名 LIKE
'[林黃][文英]_') AND (住家地址 LIKE '%台北%' or 住家地址 LIKE '%臺北%')
Like 運算子僅用於文字類型欄位
* : 任意數目的字元
? : 代表單一字元
[] : 代表符合在 [] 裡的任一個字元 'b[ae]be' -->表示babe 或 bebe都可以
[a-f] : 代表在[]裡可以包含 a 到 f 任一字元均可 [1-9]
![2-4] : 代表不是 2 到 4 的
[!efg] : 代表不是 e 或 f 或 g 的都可以
# : 代表一個數目字 [0-3]###7
WHERE (姓名 LIKE "???")
-姓名為三個字
WHERE (姓名 LIKE '[章許][!建智舒]%') AND
(住家地址 NOT LIKE '%台北%' AND 住家地址 NOT LIKE '%臺北%')
WHERE 姓名 like '%[a-z]%' or 姓名 like '%[0-9]%'
WHERE 姓名 like '[a-z]%'
找出為英文的資料
WHERE (姓名 Not like '%[a-z]%') and (姓名 Not like '%[0-9]%')
WHERE ((住家地址 like '%台北市%') OR (住家地址 like '%臺北市%')) AND ((住家地址 like
'%10_樓%') OR (住家地址 like '%10樓%'))
WHERE (姓名 LIKE '*[a-z]*' Or LIKE ' *[0-9]*')
-姓名裡面有英文或數字的人
WHERE 郵遞區號 Like '[1][1-2]___'
WHERE 郵遞區號 Like '[!0-5][!0]___'
WHERE ((自傳 Like '%章立民%') AND (自傳 Like '%微軟%') AND (自傳 Like '%MVP%')) AND
(玉照 <> NULL)
WHERE (住家地址 Like '%北縣%') AND (住家地址 like '%中正路%')
連結 51
SELECT 部門, IIF([員工性別],'男','女') AS 性別, COUNT(*) AS
部門員工數
FROM 飛狐工作室
GROUP BY 部門 , IIF([員工性別],'男','女')
ORDER BY 部門 DESC
Partition([目前薪資],10000,110000,10000) ' 查詢薪資級距的人數
連結 61
SELECT 部門,
IIF([員工性別],'男','女') AS 性別,
IIF([婚姻狀況],'己婚','未婚') AS 婚姻,
AVG([目前薪資])
AS 平均薪資
FROM 飛狐工作室
WHERE 住家地址 LIKE '%北市%'
GROUP BY 部門, IIF([員工性別],'男','女'),
IIF([婚姻狀況],'己婚','未婚')
HAVING (IIF([員工性別],'男','女') ='男') AND (IIF([婚姻狀況],'己婚','未婚')
= '未婚')
* having 是用在GROUP BY的限制條件的
連結 67
SELECT
TOP 3 PERCENT Partition(DateDiff('yyyy',[出生日期], date( ) ),20,119,10)
AS 年齡層,
AVG([目前薪資]) AS 平均薪資,
COUNT(*) AS 數量
FROM 飛狐工作室
GROUP BY Partition(DateDiff('yyyy',[出生日期],date()),20,119,10)
ORDER BY AVG([目前薪資])
DESC
Right Join : 包含來自所有 2table 的記錄和那些連結欄位相等的 1table的記錄
連結 69
SELECT 學生.學生姓名,
IIF([學生.性別],'男','女')
AS 學生性別,
成績.國文成績,
成績.英文成績,
成績.數學成績,
成績.物理成績,
成績.化學成績,
成績.期中期末
FROM 學生 INNER JOIN 成績 ON 學生.身份證字號 = 成績.身份證字號
下面的查詢結果是一樣的
FROM 學生 , 成績 WHERE 學生.身份證字號 = 成績.身份證字號
連結 70
說明:利用關聯查詢客戶每一筆訂單的總額
SELECT 客戶.客戶編號 , 客戶.公司名稱 , 訂貨主檔.訂單號碼 , 訂貨主檔.訂單日期 ,
SUM([單價] * [數量] * (1 - [折扣])) AS 訂單總價
FROM (客戶 INNER JOIN 訂貨主檔 ON 客戶.客戶編號 =
訂貨主檔.客戶編號)
INNER JOIN 訂貨明細 ON 訂貨主檔.訂單號碼 =
訂貨明細.訂單號碼
GROUP BY 客戶.客戶編號, 客戶.公司名稱 , 訂貨主檔.訂單號碼, 訂貨主檔.訂單日期
第二項 : 利用關聯查詢客戶所有訂購總額
就不要GROUP BY 訂單號及及訂單日期就好了
第三項 : 利用關聯查詢客戶在每一年裡各別月份的訂貨總金額
就再用year( ) ,及month( ) 然後再Group By 這二個欄位
第四項 : 可在後方用下列條件來限制查詢結果
Where (客戶.地址 like '%北市%') AND
(訂貨主檔.訂單日期 between #1996/7/1# and #1996/7/31#)
連結 73
說明:查詢出每一個城市之各個行政區的銷售業績
SELECT 訂貨主檔.送貨城市 , 訂貨主檔.送貨行政區 ,
SUM([單價] * [數量] * (1 - [折扣])) AS 訂單總價
FROM 訂貨主檔 INNER JOIN 訂貨明細 ON 訂貨主檔.訂單號碼 =
訂貨明細.訂單號碼
GROUP BY 訂貨主檔.送貨城市, 訂貨主檔.送貨行政區
SELECT 訂單主檔.收貨人, 訂單主檔.送貨地址 AS 收貨地址, 訂單主檔.送貨城市, 訂單主檔.送貨行政區,
訂單主檔.送貨郵遞區號, 訂單主檔.客戶編號, 客戶.公司名稱, 客戶.國家地區 AS 客戶國家地區, 客戶.地址, 客戶.城市,
客戶.行政區, 客戶.郵遞區號,
.國家/地名.姓名.訂單號碼.訂單日期.要貨日期.送貨日期.貨運公司名稱.類別編號.類別名稱.產品編號.產品.單價.數量.折扣.小計.運費
連結 76
說明:查詢出正人資源在1998年所下的所有訂單 ,
以及負責處理此客戶訂單之員工資料
SELECT 客戶.公司名稱, 訂貨主檔.訂單號碼,
訂貨主檔.訂單日期, 員工.*
FROM 員工 INNER JOIN (客戶 INNER JOIN 訂貨主檔 ON 客戶.客戶編號= 訂貨主檔.客戶編號)
ON 訂貨主檔.員工編號 =
員工.員工編號
WHERE 客戶.公司名稱='正人資源' AND YEAR(訂貨主檔.訂單日期) = 1998
連結 78
說明:查詢出1998年1月份前三名業務的銷售總金額
SELECT TOP 3 員工.員工編號, 員工.姓名,
SUM([單價] * [數量] * (1-[折扣])) AS 各營業員總額
FROM 員工 INNER JOIN (訂貨主檔 INNER JOIN 訂貨明細 ON 訂貨主檔.訂單號碼 = 訂貨明細.訂單號碼)
ON 員工.員工編號 = 訂貨主檔.員工編號
Where (Year(訂單日期)=1998) AND
(Month(訂單日期)=1)
GROUP BY 員工.員工編號, 員工.姓名
ORDER BY SUM([單價] * [數量] *
(1-[折扣])) DESC
連結 80
還是無法正確取得
說明:查詢出每一位客戶的採購資料筆數及訂貨總金額
SELECT 客戶.公司名稱, Count(訂貨主檔.訂單號碼) AS 採購次數 ,
(SELECT
SUM([單價] * [數量] * (1-[折扣])) where 訂貨主檔.訂單號碼=訂貨明細.訂單號碼) AS TotalTT
FROM 客戶 INNER JOIN 訂貨主檔 ON 客戶.客戶編號=訂貨主檔.客戶編號
GROUP BY 客戶.公司名稱
如果使用 = > >= <
<=或<>等運算子與子查詢進行比較 , 則子查詢務必傳回單一值
如果要與傳回多個值的子查詢進行比較 , 應該使用 EXISTS , IN , ALL , ANY 等運算子
連結 101
說明:查詢每一筆訂單中的最低單價以及最高單價的價格
SELECT 客戶.公司名稱, 訂貨主檔.訂單號碼,
訂貨主檔.訂單日期,
(SELECT MIN(單價) FROM 訂貨明細 WHERE 訂貨主檔.訂單號碼=訂貨明細.訂單號碼) AS 最低單價,
(SELECT MAX(單價) FROM 訂貨明細 WHERE 訂貨主檔.訂單號碼=訂貨明細.訂單號碼) AS 最高單價
FROM 客戶 INNER JOIN 訂貨主檔 ON 客戶.客戶編號 = 訂貨主檔.客戶編號
ORDER BY 客戶.公司名稱, 訂貨主檔.訂單日期
連結102
說明:查詢每一筆訂單中的最低單價以及最高單價的價格及列出商品名稱
"SELECT 客戶.公司名稱, 訂貨主檔.訂單號碼, 訂貨主檔.訂單日期 ,
(SELECT MIN(單價) FROM 訂貨明細 WHERE 訂貨主檔.訂單號碼=訂貨明細.訂單號碼) AS 最低單價 ,
(SELECT MAX(單價) FROM 訂貨明細 WHERE 訂貨主檔.訂單號碼=訂貨明細.訂單號碼) AS 最高單價,
(SELECT 產品資料.產品 FROM 產品資料 WHERE 訂貨明細.產品編號=產品資料.產品編號) AS 最高單價產品名稱
FROM (客戶 INNER JOIN 訂貨主檔 ON 客戶.客戶編號 = 訂貨主檔.客戶編號)
INNER JOIN 訂貨明細 ON 訂貨主檔.訂單號碼=訂貨明細.訂單號碼
WHERE 訂貨明細.單價 = (SELECT MAX(單價)
FROM 訂貨明細 WHERE 訂貨主檔.訂單號碼=訂貨明細.訂單號碼) "
ORDER BY 客戶.公司名稱, 訂貨主檔.訂單號碼"
連結 103
說明:查詢出目前公司中最低薪資的人的姓名及其薪資
SELECT 姓名, 目前薪資 AS 最低薪資
FROM 飛狐工作室
WHERE
目前薪資 = (SELECT MIN(目前薪資) FROM 飛狐工作室)
連結 104
說明:查詢所有人員中薪資大於公司平均藗資 1.5 倍的人員
SELECT 姓名, 目前薪資 AS 高於公司平均薪資
FROM 飛狐工作室
WHERE 目前薪資 >= 1.5 * (SELECT AVG(目前薪資)
FROM 飛狐工作室)
連結 105
說明:查詢各部門的人數及其平均薪資 , 且列出人數大於業務部問的
SELECT 部門, COUNT(*) AS 部門人數 , AVG(目前薪資) AS 平均薪資
FROM 飛狐工作室
GROUP BY 部門
HAVING COUNT(*) > (SELECT COUNT(*) FROM 飛狐工作室 WHERE 部門='業務部')
連結 106
說明:查詢出單價與巧克力相同的產品 SELECT 產品, 單價
FROM 產品資料
WHERE 單價 = (SELECT 單價 FROM 產品資料 WHERE 產品='巧克力')
連結 108
說明:查詢出哪一本書在特定書店的銷售利潤低於所有書店銷售利潤的80% (不太懂它要查詢什麼)
SELECT title.title_id, sales.stor_id,
store.stor_name, (title.price*sales.qty) AS Revenue
FROM (title INNER JOIN sales ON title.title_id = sales.title_id) INNER
JOIN store ON sales.stor_id = store.stor_id
WHERE (sales.qty*title.price) <
連結 109
說明:查詢客戶資料表中有哪些公司並沒有採購,也就是沒有下訂單
說明:存在於子查詢的檢驗
SELECT 客戶.公司編號, 客戶.公司名稱, 客戶.連絡人, 客戶.連絡人職稱
FROM 客戶
WHERE NOT Exists
(SELECT * FROM 訂貨主檔 WHERE 訂貨主檔.客戶編號=客戶.客戶編號)
SELECT 2003 AS 學年 , * FROM
成績_2003 UNION ALL
SELECT 2004 AS 學年 , * FROM 成績_2004 UNION ALL
SELECT 2005 AS 學年 , * FROM 成績_2005
ORDER BY 學年 , 身份證字號
連結 119
說明:同上 ,但是再關聯學生資料表 , 顯示學生姓名
SELECT 2003 AS 學年,(select 學生.學生姓名 FROM 學生
WHERE 學生.身份證字號 = 成績_2003.身份證字號) AS 姓名 , * FROM 成績_2003 UNION ALL
SELECT 2004 AS 學年,(select 學生.學生姓名 FROM 學生 WHERE 學生.身份證字號 = 成績_2004.身份證字號) AS
姓名 , * FROM 成績_2004 UNION ALL
SELECT 2005 AS 學年,(select 學生.學生姓名 FROM 學生 WHERE 學生.身份證字號 = 成績_2005.身份證字號) AS
姓名 , * FROM 成績_2005
ORDER BY 學年 , 身份證字號
連結 120
說明:查詢飛狐工作室每個部門中薪資最高的前三名
SELECT TOP 3 部門 , 姓名 , 目前薪資 FROM 飛狐工作室 WHERE 部門='生產製造部' ORDER BY 目前薪資
UNION ALL
SELECT TOP 3 部門 , 姓名 , 目前薪資 FROM 飛狐工作室 WHERE 部門='行銷部' ORDER BY 目前薪資
UNION ALL
SELECT TOP 3 部門 , 姓名 , 目前薪資 FROM 飛狐工作室 WHERE 部門='財務部' ORDER BY 目前薪資
UNION ALL
SELECT TOP 3 部門 , 姓名 , 目前薪資 FROM 飛狐工作室 WHERE 部門='業務部' ORDER BY 目前薪資
UNION ALL
SELECT TOP 3 部門 , 姓名 , 目前薪資 FROM 飛狐工作室 WHERE 部門='資訊部' ORDER BY 目前薪資
UNION ALL
SELECT TOP 3 部門 , 姓名 , 目前薪資 FROM 飛狐工作室 WHERE 部門='管理部' ORDER BY 目前薪資
ORDER BY 部門 DESC, 目前薪資
連結
說明:
動 作 查 詢
連結
說明:
連結 124
說明:將正人資源公司之訂購數量大於或等於100的訂貨明細資料刪除
SELECT 訂貨明細.* FROM (客戶 INNER JOIN 訂貨主檔 ON 客戶.客戶編號=訂貨主檔.客戶編號) INNER JOIN
訂 訂貨明細 WHERE 客戶.公司名稱="正人資源"