(自连接)SQL面试题-0608
生活随笔
收集整理的這篇文章主要介紹了
(自连接)SQL面试题-0608
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一個(gè)簡(jiǎn)單的表TABLE 有100條以上的信息,其中包括:
產(chǎn)品 ? ? ? ? 顏色 ? ? ? ? ? ? 數(shù)量 產(chǎn)品1 ? ? ? ? 紅色 ? ? ? ? ? ? 123 產(chǎn)品1 ? ? ? ? 藍(lán)色 ? ? ? ? ? ? 126 產(chǎn)品2 ? ? ? ? 藍(lán)色 ? ? ? ? ? ? 103 產(chǎn)品2 ? ? ? ? 紅色 ? ? ? ? ? ? NULL 產(chǎn)品2 ? ? ? ? 紅色 ? ? ? ? ? ? 89 產(chǎn)品1 ? ? ? ? 紅色 ? ? ? ? ? ? 203
請(qǐng)用SQL語(yǔ)句完成以下問(wèn)題:
1。按產(chǎn)品分類(lèi),僅列出各類(lèi)商品中紅色多于藍(lán)色的商品名稱(chēng)及差額數(shù)量:
2。按產(chǎn)品分類(lèi),將數(shù)據(jù)按下列方式進(jìn)行統(tǒng)計(jì)顯示 產(chǎn)品 ? ? ? ? 紅色 ? ? ? ? ? 藍(lán)色
create table test0608(產(chǎn)品 varchar(10),顏色 varchar(10),數(shù)量 int);insert into test0608 values ('產(chǎn)品1', '紅色', 123); insert into test0608 values ('產(chǎn)品1', '藍(lán)色', 126); insert into test0608 values ('產(chǎn)品2', '藍(lán)色', 103); insert into test0608 values ('產(chǎn)品2', '紅色', NULL); insert into test0608 values ('產(chǎn)品2', '紅色', 89); insert into test0608 values ('產(chǎn)品1', '紅色', 203);select * from test0608;select 產(chǎn)品, 紅色, 藍(lán)色, 紅色 - 藍(lán)色 差額from (select a1.產(chǎn)品, a1.紅色, b1.藍(lán)色from (select 產(chǎn)品, 顏色, 紅色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 紅色from test0608group by 產(chǎn)品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產(chǎn)品, 顏色, 藍(lán)色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 藍(lán)色from test0608group by 產(chǎn)品, 顏色) bwhere b.顏色 = '藍(lán)色' ) b1 on a1.產(chǎn)品 = b1.產(chǎn)品) cwhere 紅色 > 藍(lán)色;select a1.產(chǎn)品, a1.紅色, b1.藍(lán)色from (select 產(chǎn)品, 顏色, 紅色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 紅色 from test0608 group by 產(chǎn)品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產(chǎn)品, 顏色, 藍(lán)色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 藍(lán)色 from test0608 group by 產(chǎn)品, 顏色) bwhere b.顏色 = '藍(lán)色' ) b1 on a1.產(chǎn)品 = b1.產(chǎn)品;
產(chǎn)品 ? ? ? ? 顏色 ? ? ? ? ? ? 數(shù)量 產(chǎn)品1 ? ? ? ? 紅色 ? ? ? ? ? ? 123 產(chǎn)品1 ? ? ? ? 藍(lán)色 ? ? ? ? ? ? 126 產(chǎn)品2 ? ? ? ? 藍(lán)色 ? ? ? ? ? ? 103 產(chǎn)品2 ? ? ? ? 紅色 ? ? ? ? ? ? NULL 產(chǎn)品2 ? ? ? ? 紅色 ? ? ? ? ? ? 89 產(chǎn)品1 ? ? ? ? 紅色 ? ? ? ? ? ? 203
請(qǐng)用SQL語(yǔ)句完成以下問(wèn)題:
1。按產(chǎn)品分類(lèi),僅列出各類(lèi)商品中紅色多于藍(lán)色的商品名稱(chēng)及差額數(shù)量:
2。按產(chǎn)品分類(lèi),將數(shù)據(jù)按下列方式進(jìn)行統(tǒng)計(jì)顯示 產(chǎn)品 ? ? ? ? 紅色 ? ? ? ? ? 藍(lán)色
create table test0608(產(chǎn)品 varchar(10),顏色 varchar(10),數(shù)量 int);insert into test0608 values ('產(chǎn)品1', '紅色', 123); insert into test0608 values ('產(chǎn)品1', '藍(lán)色', 126); insert into test0608 values ('產(chǎn)品2', '藍(lán)色', 103); insert into test0608 values ('產(chǎn)品2', '紅色', NULL); insert into test0608 values ('產(chǎn)品2', '紅色', 89); insert into test0608 values ('產(chǎn)品1', '紅色', 203);select * from test0608;select 產(chǎn)品, 紅色, 藍(lán)色, 紅色 - 藍(lán)色 差額from (select a1.產(chǎn)品, a1.紅色, b1.藍(lán)色from (select 產(chǎn)品, 顏色, 紅色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 紅色from test0608group by 產(chǎn)品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產(chǎn)品, 顏色, 藍(lán)色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 藍(lán)色from test0608group by 產(chǎn)品, 顏色) bwhere b.顏色 = '藍(lán)色' ) b1 on a1.產(chǎn)品 = b1.產(chǎn)品) cwhere 紅色 > 藍(lán)色;select a1.產(chǎn)品, a1.紅色, b1.藍(lán)色from (select 產(chǎn)品, 顏色, 紅色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 紅色 from test0608 group by 產(chǎn)品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產(chǎn)品, 顏色, 藍(lán)色from (select 產(chǎn)品, 顏色, sum(數(shù)量) 藍(lán)色 from test0608 group by 產(chǎn)品, 顏色) bwhere b.顏色 = '藍(lán)色' ) b1 on a1.產(chǎn)品 = b1.產(chǎn)品;
總結(jié)
以上是生活随笔為你收集整理的(自连接)SQL面试题-0608的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C# Winform 窗体美化(八、Ic
- 下一篇: Oracle 练习题 20131017