求解一道SQL測試題

來源:互聯網
上載者:User
求解一道SQL測試題
商品表:
編號 名稱 價格 分類
---- -------- ------ ---------
7 熊貓 9854.0 生產工具
1 香蕉 3.0 食物
2 蘋果 2.0 食物
3 火箭炮 900.5 生產工具
6 板磚 1.5 生產工具

顧客表:
編號 姓名 住址
---- ---------- --------
1 輝耀 地球
3 水藍 水星
6 夢夢 土衛6

交易表:
編號 顧客編號 商品編號 所購數量
----- --------- --------- ---------
1 1 1 12
2 3 1 1
3 7 3 1
4 6 6 7
5 2 6 4
6 2 1 45

1.列出沒有購買過蘋果的顧客的姓名及家庭住址
2.列出每個人在購買生產工具和食物上各花了多少錢
3.列出賣出總金額最少的前3個商品名稱及其賣出金額

看到這題後我就一直處於眩暈狀態,望各位幫我!

========================================================================================

第一題就不說了,第二題也讓我費了不少心思,第一種查詢方式是:/select b.姓名, a.分類, sum(c.數量*a.價格) from 產品表 a
inner join 交易表 c on a.spid=c.spid
inner join 顧客表 b on b.gkid=c.gkid
group by a.分類,b.姓名/ 。這種查詢結果集比較亂。第二種方式是:/
select b.姓名,
sum (case 分類 when '生產工具' then c.數量*a.價格 else 0 end) as '生產工具',
sum(case a.分類 when '食物' then c.數量*a.價格 else 0 end ) as '食物'
from 商品表 as a
inner join 交易表 as c on a.spid=c.spid inner join 顧客表 as b on b.gkid=c.gkid
group by b.姓名/ 這個效果好些。嘿嘿。
---------------------
第三題:
select top 3 a.名稱, sum(a.價格*b.數量) as 總金額
from 商品表 a inner join 交易表 b on a.spid=b.spid
group by a.名稱 order by 總金額
========================================================================================
第一題:
select 姓名,家庭住址 from 顧客表 where 顧客編號 not in
(select 顧客編號 from 交易表 where 商品編號='2')
這裡考的是子查詢,仔細點就可以
第二題 還沒做出來 哈哈 本人也是初學者

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.