當前位置:
首頁 > 最新 > 這道資料庫題目你必須看看,之後的面試還真的會碰到

這道資料庫題目你必須看看,之後的面試還真的會碰到

軟體測試資源分享

免費分享測試資料

自學測試的都關注了

前幾天後台有看到一位粉絲髮了面試題,以及早上看到也有人在問,不知道是不是同一個人,來看看題目吧,粉絲髮的是圖片的,大家可以看一下。

大家可能看不清,小編給大家寫出來,並附上小編晚上把答案寫出來,大家可以看一下,如果寫的有錯,大家可以留言告訴小編,或者有更優化的答案也是可以留言告訴小編哦,題目是這樣的。

有幾張表如下:

部門表:organization(orgid,orgName)

商品表:Goods(goodsid,goodsName)

銷售單(單頭):sale(billid,billdt,orgid,status)

銷售單(單體):sale_item(billd,goodsid,qty,price)

(欄位含義:orgld 組織編碼,orgName 組織名稱,goodsld 商品編碼,goodsName 商品名稱,billid單據編號,billdt單據日期,status 單據狀態(1生效,2作廢),qty數量 ,price 價格)(小編按圖片碼字的,如有錯誤以圖片為準)

請實現如下業務場景的SQL語句:

(1)查詢「銷售一部」本月的商品銷售明細(商品編碼,商品名稱,銷售單號。銷售日期,銷售數量)

小編解答:

SELECT si.goodsid as "商品編碼",g.goodsName as "商品名稱",si.billid as "銷售單號",s.billdt as "銷售日期",si.qty as "銷售數量"

from sale_item si LEFT join sale s on si.billid=s.billid

LEFT JOIN goods g on si.goodsid=g.goodsid

where s.orgid=1 and date_format(s.billdt,"%Y%m") = date_format(curdate() ,"%Y%m");

查詢結果:(數據為小編添加)

(2)統計2015-11-01到2015-11-05時間段內各個部門的商品銷量排名(部門編碼,部門名稱,銷售額)

小編解答:

SELECT s.orgid as "部門編碼",o.orgName as "部門名稱",si.price*si.qty as "銷售額" from sale s LEFT JOIN org o on s.orgid=o.orgid LEFT JOIN

sale_item si on s.billid=si.billid where s.billdt BETWEEN "2015-11-01" and "2015-11-05 23:59:59" ORDER BY si.qty DESC;

查詢結果:

(3)查詢銷售部門(名稱以「銷售」開頭)以外的其它各部門的銷售單列表(部門名稱,單據號,單據日期,銷售額),按照部門名稱,單據日期升序排序。

小編解答:

SELECT o.orgName as "部門名稱",s.billid as "單據名稱",s.billdt as "單據日期",(si.qty*si.price) as "銷售額"

from sale s LEFT JOIN sale_item si on s.billid=si.billid LEFT JOIN org o on s.orgid=o.orgid where o.orgName NOT LIKE "銷售%" ORDER BY s.billdt ASC;

查詢結果:

以上是小編的解答,如果不對請及時留言指正,感謝大家的支持,如果大家需要資料庫數據,可以留言告訴小編,小編上傳雲盤,大家可以聯繫一下。

覺得小編解答的還不錯的記得點贊哦,轉發就更好了


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 軟體測試資源分享 的精彩文章:

TAG:軟體測試資源分享 |