(自连接)SQL面试题-0608
生活随笔
收集整理的這篇文章主要介紹了
(自连接)SQL面试题-0608
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個簡單的表TABLE 有100條以上的信息,其中包括:
產品 ? ? ? ? 顏色 ? ? ? ? ? ? 數量 產品1 ? ? ? ? 紅色 ? ? ? ? ? ? 123 產品1 ? ? ? ? 藍色 ? ? ? ? ? ? 126 產品2 ? ? ? ? 藍色 ? ? ? ? ? ? 103 產品2 ? ? ? ? 紅色 ? ? ? ? ? ? NULL 產品2 ? ? ? ? 紅色 ? ? ? ? ? ? 89 產品1 ? ? ? ? 紅色 ? ? ? ? ? ? 203
請用SQL語句完成以下問題:
1。按產品分類,僅列出各類商品中紅色多于藍色的商品名稱及差額數量:
2。按產品分類,將數據按下列方式進行統計顯示 產品 ? ? ? ? 紅色 ? ? ? ? ? 藍色
create table test0608(產品 varchar(10),顏色 varchar(10),數量 int);insert into test0608 values ('產品1', '紅色', 123); insert into test0608 values ('產品1', '藍色', 126); insert into test0608 values ('產品2', '藍色', 103); insert into test0608 values ('產品2', '紅色', NULL); insert into test0608 values ('產品2', '紅色', 89); insert into test0608 values ('產品1', '紅色', 203);select * from test0608;select 產品, 紅色, 藍色, 紅色 - 藍色 差額from (select a1.產品, a1.紅色, b1.藍色from (select 產品, 顏色, 紅色from (select 產品, 顏色, sum(數量) 紅色from test0608group by 產品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產品, 顏色, 藍色from (select 產品, 顏色, sum(數量) 藍色from test0608group by 產品, 顏色) bwhere b.顏色 = '藍色' ) b1 on a1.產品 = b1.產品) cwhere 紅色 > 藍色;select a1.產品, a1.紅色, b1.藍色from (select 產品, 顏色, 紅色from (select 產品, 顏色, sum(數量) 紅色 from test0608 group by 產品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產品, 顏色, 藍色from (select 產品, 顏色, sum(數量) 藍色 from test0608 group by 產品, 顏色) bwhere b.顏色 = '藍色' ) b1 on a1.產品 = b1.產品;
產品 ? ? ? ? 顏色 ? ? ? ? ? ? 數量 產品1 ? ? ? ? 紅色 ? ? ? ? ? ? 123 產品1 ? ? ? ? 藍色 ? ? ? ? ? ? 126 產品2 ? ? ? ? 藍色 ? ? ? ? ? ? 103 產品2 ? ? ? ? 紅色 ? ? ? ? ? ? NULL 產品2 ? ? ? ? 紅色 ? ? ? ? ? ? 89 產品1 ? ? ? ? 紅色 ? ? ? ? ? ? 203
請用SQL語句完成以下問題:
1。按產品分類,僅列出各類商品中紅色多于藍色的商品名稱及差額數量:
2。按產品分類,將數據按下列方式進行統計顯示 產品 ? ? ? ? 紅色 ? ? ? ? ? 藍色
create table test0608(產品 varchar(10),顏色 varchar(10),數量 int);insert into test0608 values ('產品1', '紅色', 123); insert into test0608 values ('產品1', '藍色', 126); insert into test0608 values ('產品2', '藍色', 103); insert into test0608 values ('產品2', '紅色', NULL); insert into test0608 values ('產品2', '紅色', 89); insert into test0608 values ('產品1', '紅色', 203);select * from test0608;select 產品, 紅色, 藍色, 紅色 - 藍色 差額from (select a1.產品, a1.紅色, b1.藍色from (select 產品, 顏色, 紅色from (select 產品, 顏色, sum(數量) 紅色from test0608group by 產品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產品, 顏色, 藍色from (select 產品, 顏色, sum(數量) 藍色from test0608group by 產品, 顏色) bwhere b.顏色 = '藍色' ) b1 on a1.產品 = b1.產品) cwhere 紅色 > 藍色;select a1.產品, a1.紅色, b1.藍色from (select 產品, 顏色, 紅色from (select 產品, 顏色, sum(數量) 紅色 from test0608 group by 產品, 顏色) awhere a.顏色 = '紅色' ) a1join (select 產品, 顏色, 藍色from (select 產品, 顏色, sum(數量) 藍色 from test0608 group by 產品, 顏色) bwhere b.顏色 = '藍色' ) b1 on a1.產品 = b1.產品;
總結
以上是生活随笔為你收集整理的(自连接)SQL面试题-0608的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# Winform 窗体美化(八、Ic
- 下一篇: Django创建mysql数据库常用字段