天天看點

一些SQL試題

create database sc

on

(name=‘sc‘,

filename=‘d:\sc.mdf‘)

log on

(name=‘sc_log‘,

filename=‘d:\sc_log.dlf‘)

go

use sc

create table 商品供應記錄

(商家姓名 nvarchar(20) not null,

商品名稱 nvarchar(20),

商品價格 decimal(7,2)

)

insert into 商品供應記錄 values(‘長虹公司‘,‘彩電‘,4500.00)

insert into 商品供應記錄 values(‘大自然公司‘,‘鳥‘,200.00)

insert into 商品供應記錄 values(‘紅旗副食‘,‘雞蛋‘,2.50)

insert into 商品供應記錄 values(‘紅旗副食‘,‘奶粉‘,19.00)

insert into 商品供應記錄 values(‘超霸音響‘,‘vcd‘,860.00)

insert into 商品供應記錄 values(‘大邑米業‘,‘大米‘,1.50)

insert into 商品供應記錄 values(‘超霸音響‘,‘收錄機‘,1100.00)

insert into 商品供應記錄 values(‘江湖音響‘,‘随身聽‘,200.00)

insert into 商品供應記錄 values(‘江湖音響‘,‘音箱‘,1000.00)

insert into 商品供應記錄 values(‘江湖音響‘,‘vcd‘,680.00)

create table 顧客記錄

(顧客姓名 nvarchar(10) not null,

位址 nvarchar(100),

顧客餘額 decimal(7,2)

insert into 顧客記錄 values(‘王紅‘,‘成都太升南路18号‘,1200.00)

insert into 顧客記錄 values(‘趙一‘,‘重慶石橋鋪‘,1578.20)

insert into 顧客記錄 values(‘章靜‘,‘成都人民南路一段4号‘,2000.00)

insert into 顧客記錄 values(‘李四‘,‘成都雙橋子10号‘,980.00)

insert into 顧客記錄 values(‘張洋‘,‘成都洞子口130号‘,450.00)

insert into 顧客記錄 values(‘舒雨‘,‘成都春熙路2号‘,58.00)

insert into 顧客記錄 values(‘李影‘,‘重慶解放碑130号‘,-200.00)

insert into 顧客記錄 values(‘舒紅‘,‘成都春熙路8号‘,-80.00)

create table 訂單記錄

(訂單号 char(10) not null,

訂單發出日期 date,

顧客姓名 nvarchar(10)

insert into 訂單記錄 values(‘0024‘,‘01/20/1997‘,‘王紅‘)

insert into 訂單記錄 values(‘2025‘,‘06/09/1997‘,‘章靜‘)

insert into 訂單記錄 values(‘3026‘,‘02/28/1997‘,‘張洋‘)

insert into 訂單記錄 values(‘1100‘,‘04/24/1997‘,‘張洋‘)

insert into 訂單記錄 values(‘1000‘,‘03/25/1997‘,‘李四‘)

insert into 訂單記錄 values(‘1580‘,‘05/22/1997‘,‘趙一‘)

insert into 訂單記錄 values(‘2035‘,‘08/08/1997‘,‘舒雨‘)

insert into 訂單記錄 values(‘0014‘,‘09/10/1997‘,‘李影‘)

create table 訂單商品記錄

訂貨數量 int

insert into 訂單商品記錄 values(‘0024‘,‘彩電‘,30)

insert into 訂單商品記錄 values(‘2025‘,‘鳥‘,16)

insert into 訂單商品記錄 values(‘3026‘,‘雞蛋‘,500)

insert into 訂單商品記錄 values(‘1100‘,‘vcd‘,12)

insert into 訂單商品記錄 values(‘1000‘,‘vcd‘,1000)

insert into 訂單商品記錄 values(‘1580‘,‘收錄機‘,22)

insert into 訂單商品記錄 values(‘2035‘,‘随身聽‘,50)

insert into 訂單商品記錄 values(‘0014‘,‘音箱‘,5)

--寫出下列sql語句

--1、找出餘額1000~2000元的之間的顧客的資訊。

select * from 顧客記錄 where 顧客餘額 between 1000 and 2000

--2、找出沒有餘額的顧客的姓名及位址。

select 顧客姓名,位址 from 顧客記錄 where 顧客餘額<=0

--3、找出查詢住在成都地區的顧客。

select * from 顧客記錄 where 位址 like ‘成都%‘

--4、插入供應商“超霸音響”以500元的價格提供vcd。

insert into 商品供應記錄 values (‘超霸音響‘,‘vcd‘,‘500‘)

--5、找出提供商品種類少于兩種的供應商。

select 商家姓名 from 商品供應記錄 group up 商家姓名 having count(*)<2

select "欄位1",sum("欄位2")  

from "表格名"  

group by "欄位1"  

having (函數條件)  

請讀者注意:如果被  select 的隻有函數欄,那就不需要  group by  子句。

--6、找出至少供應一種張洋訂購了的商品的供應商。

  select 商家姓名

  from 商品供應記錄 join 訂單商品記錄 on 商品供應記錄.商品名稱=訂單商品記錄.商品名稱

  join 訂單記錄 on 訂單商品記錄.訂單号=訂單記錄.訂單号

  where 訂單記錄.顧客姓名=‘張洋‘

--7、将供應商為“長虹公司”提供的商品價格下調20%。

update 商品供應記錄 set 商品價格=商品價格*0.8 where 商家姓名=‘長虹公司‘

--8、删除“大邑米業”的一切相關資訊

delete 商品供應記錄 where 商家姓名=‘大邑米業‘

--9、統計“成都”的客戶人數。

select count(*) as 成都客戶人數 form 顧客記錄 where 位址 like ‘成都%‘

--10、查詢“江湖音響”總共供應了多少種物品。

  select count(*) as 江湖音響商品種類 from 商品供應記錄 where 商家姓名=‘江湖音響‘