資料庫關聯查詢練習筆記

1. 列出所有員工檔 和 銷售業績檔的所有紀錄
select * from employ;
select * from salesrecord;


2. 列出每一位員工的 代號 姓名 銷售業績總額
select employ.emp_id, employ.empname, sum(salesrecord.amount) as sales_total
from employ left join salesrecord on employ.emp_id = salesrecord.emp_id
group by employ.emp_id, employ.empname


3. 列出每一位員工的 代號 姓名 每月最高的銷售業績
select employ.emp_id, employ.empname,
ISNULL((MAX(salesrecord.amount)),0) as sales_total,
DATEPART(MONTH,salesrecord.date) as month
from employ left join salesrecord on employ.emp_id = salesrecord.emp_id
group by employ.emp_id, employ.empname, DATEPART(MONTH,salesrecord.date)
order by employ.emp_id;


4. 列出銷售檔的每人 平均業績 最高業績 最低業績
select employ.emp_id,
ISNULL(avg(amount),0) as avg,
ISNULL(max(amount),0) as max,
ISNULL(min(amount),0) as min
from salesrecord right join employ on salesrecord.emp_id = employ.emp_id
group by employ.emp_id;


5. 列出五月份每位員工的 代號 銷售比數 銷售總金額,沒有業績的員工要顯示
select
employ.emp_id,
COUNT(DATEPART(MONTH,salesrecord.date)) as sales_count,
ISNULL(SUM(salesrecord.amount),0) as sales_total
from salesrecord right join employ
on DATEPART(MONTH,salesrecord.date) = 5 and employ.emp_id = salesrecord.emp_id
group by DATEPART(MONTH,salesrecord.date),employ.emp_id

後記:
在原本就有實際使用過資料庫的情況下接觸到這門課老實說還挺有feel的,特別是這次的練習讓我擺脫了以往關聯查詢要分多次的窘境(其實根本是之前偷懶一直沒有好好研究SQL語法ˊˇˋ

留言

這個網誌中的熱門文章

[Arduino]電子秤平 重量感測條+HX711AD模組

cpe練習筆記 UVa10041 Vito's family

cpe練習筆記 UVa401 Palindromes