《数据查询》练习.docx
- 文档编号:28462459
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:12
- 大小:19.46KB
《数据查询》练习.docx
《《数据查询》练习.docx》由会员分享,可在线阅读,更多相关《《数据查询》练习.docx(12页珍藏版)》请在冰豆网上搜索。
《数据查询》练习
《数据查询》练习
练习前,先附加“教务管理系统”和“人事管理系统”数据库
1、在“学生信息”表中,以3种不同的列名显示方式,查询学生信息。
select学号’No:
姓名^ame:
性别’Sex:
年级^Grade:
籍贯,岀生所在地'from学生信息
select学号as'No;姓名as'Name:
性别as'Sex:
年级as'Grade:
籍贯as
,岀生所在地’from学生信息
selectW二学号/Name/=姓名,’Sex=性别/Grade,=年级,’岀生所在地'二籍贯from学生信息
2、交换列的显示顺序,查询查询“学生信息〃表中所有学生的学号、姓名、政治而貌和籍贯信息。
select学号,姓名,政治面貌,籍贯from学生信息
select政治面貌,学号,姓名,籍贯from学生信息
3、对比不使用DISTINCT和使用DISTINCT,查询"学生信息〃表的"籍贯〃列中的信息。
I
select籍贯from学生信息
selectdistinct籍贯from学生信息
4、查询列表中使用计算列。
1)查询“成绩表〃中学生成绩信息,把成绩减少10分显示,同时显示编号、
学号、调整前的成绩。
select编号,学号/调整前的成绩〜成绩,;调整后的成绩〜成绩-10from成绩表
2)查询“学生信息〃表中学生学号、姓名、性别、民族和籍贯信息组,结果组合一列显示。
select学生信息二学号「+学号匸姓名「+姓名+,性别「+性别匸民族「+
民族+'籍贯:
’+籍贯from学生信息
5、WHERE子句的使用
1)从“学生信息〃表中,查询出“籍贯〃为"河南〃的学生的学号、姓名、性别、民族和籍贯信息。
select学号姓名,性别,民族,籍贯from学生信息where籍贯-河南,
)
2)从〃学生信息〃表中,查询出“籍贯〃不是“河南〃的学生的学号、姓名、性别、民族和籍贯信息。
select学号,姓名,性别,民族,籍贯from学生信息where籍贯匕河南,
3)从“成绩表〃中,查询出“成绩〃小于60的学生的学号、姓名信息。
select学号,姓名from成绩表where成绩v60
4)从“学生信息〃表中,查询出"籍贯〃为“河南〃并且“民族〃为"汉〃的学生的学号、姓名、性别、民族和籍贯信息。
select学号,姓名,性别,民族,籍贯from学生信息where籍贯》河南Vnd民族二'汉’
5)从〃学生信息〃表中,查询出“籍贯〃为“河南〃或者“上海〃的学生的学号、姓名、性别、民族和籍贯信息。
select学号,姓名,性别,民族,籍贯from学生信息where籍贯二伴可南’or籍贯》上海’
6)在“成绩表〃中,查询岀成绩在70与80之间的学生的编号、学号、课程编号和成绩信息。
select编号,学号,课程编号,成绩from成绩表where成绩between
70and80
•••
7)在“成绩表〃中,查询出成绩不在70与80之间的学生的编号、学号、课程编号和成绩信息。
select编号,学号,课程编号,成绩from成绩表where成绩notbetween
70and80
8)在“人事管理系统〃数据库中查询从2004-05-01到2007-01-01的日期内入职的员工信息,包括员工编号、员工姓名、性别和入职时间。
select员工编号,员工姓名,性别,入职时间from员工信息where入
职时间between'2004-05-02'and2007-01-01J
9)从“学生信息〃表中,查询岀“籍贯〃是“湖南〃、"湖北〃和"江西〃的学生的学号、姓名、性别、民族和籍贯信息。
select学号,姓名,性别,民族,籍贯from学生信息where籍贯IN『湖南:
“湖北:
'江西')
10)从"学生信息〃表中,查询出除"籍贯〃是"湖南〃、“湖北"和“江西〃以外的学生的学号、姓名、性别、民族和籍贯信息。
select学号,姓名,性别,民族,籍贯from学生信息where籍贯NOTIN(湖南:
八湖北;江西,)
11)查询“学生信息〃表中姓名包含“红〃字的学生的学号、姓名、性别、民族、籍贯和班级编号信息。
select学号,姓名,性别,民族,籍贯,班级编号from学生信息where
姓名like‘%红%‘
12)查询“学生信息〃表中姓氏为“徐〃的学生的学号、姓名、性别、民族、籍贯和班级编号信息。
select学号,姓名,性别,民族,籍贯,班级编号from学生信息where姓名like徐卅
13)查询〃学生信息〃表中姓名不包含“红〃字的学生的学号、姓名、性别、民族、籍贯和班级编号信息。
select学号,姓名,性别,民族,籍贯,班级编号from学生信息where姓名likeI[八红]]
12)在“教务管理系统〃数据库中,查询还未分配班主任的班级信息。
select*from班级信息where班主任isnull
在数据库commoditysell中操作
13)查询数据表ProductInfo中前5条记录。
14)从ProductInfo表中,查询产品名称为“丙电视机”的产品信息。
25)从ProductInfo表中,查询FactAddr为“四川绵阳”或"广东东莞”,同时StockAmount大于110的产品的ProdID、StockAmount和FactAddr信息,并且给列名分别取别名为产品编号、库存数量和厂商地址。
16)从ProductInfo表中,查询StockAmount在250和400(包含200和400)之间的产品的ProdName和StockAmounto
17)从ProductInfo表中,查询StockAmount在250和400(不包含200和400)之间的产品的ProdName和StockAmounto
18)从EmporiumSell表中,查询EmpID为"9602〃和"0303〃的商场销售的商品的ProdlD^SellAmount和EmpID
19)从EmporiumSell表中,查询所有EmpID以“9”开头的商场的销售记录。
20)从ProductInfo表中,查询所有生产“洗衣机”的厂商的ProdName>
ProdFact>FactAddr>FactTele和ProdID。
6、ORDERBY子句的使用
1)从数据库”教务管理系统〃的“班级信息〃表中,按照班级的人数进行降序排列。
select班级编号,年级,班级名称,人数,班主任from班级信息orderby人数desc
2)从数据库“教务管理系统〃的“班级信息〃表中,按照年级进行升序排列,年级相同的再按班级人数进行降序排列。
select班级编号,年级,班级名称,人数,班主任from班级信息orderby年级asc,人数desc
7、GROUPBY子句的使用
1)在“教务管理系统〃数据库的“成绩〃表中,查询考试课程数。
selectcount(distinct课程编号)from成绩表
2)在“教务管理系统〃数据库的“成绩〃表中,查询课程编号为42「课程的总分。
selectsum(成绩)as总分from成绩表where课程编号二'12,
3)在“教务管理系统〃数据库的“成绩〃表中,查询成绩最高的。
selectmax(成绩)as最高分from成绩表
4)在“教务管理系统〃数据库的“成绩〃表中,查询成绩最低的。
selectmin(成绩)as最低分from成绩表
>
5)在“教务管理系统〃数据库的"班级信息〃表中,按照年级查询岀该年级各班的总人数以及班级的数量。
select年级,sum(人数)as年级总人数,count(班级编号)as班级数量from
班级信息
groupby年级
6)在“教务管理系统〃数据库的“成绩〃表中,按照学号分组,查询学生课程成绩都大于等于80课程数。
select学号?
count(课程编号)from成绩表
where成绩>二80
groupby学号
7)在“教务管理系统〃数据库的“成绩〃表中,按照学号分组,查询学生总成绩,要求总成绩大于等于250。
select学号,sum(成绩)as总分from成绩表
groupby学号
(
havingsum(成绩)>=150
8、COMPUTE和COMPUTEBY子句的使用
1)在"AdventureWorks"数据库的/zSalesOrderHeader,/表中,使用COMPUTE子句生成SalesOrderHeader表中SubTotal与TotalDue的和的合计。
SELECTCustomerlD,OrderDate,SubTotal,TotalDue
FROM
WHERESalesPersonlD=275
ORDERBYOrderDate
COMPUTESUM(SubTotal),SUM(TotalDue)
2)在"AdventureWorks"数据库的//SalesOrderHeader,/表中,使用COMPUTE子句按销售人员生成SalesOrderHeader表中SubTotal与TotalDue的和的合计。
SELECTSalesPersonlD,CustomerlD,OrderDate,SubTotal,TotalDue
$
FROM
ORDERBYSalesPersonlD,OrderDate
COMPUTESUM(SubTotal),SUM(TotalDue)BYSalesPersonlD
在数据库commoditysell中操作
9、查询ProductInfo表中,所有“电视机”的平均价格。
10、查询EmporiumSell表中总的销售记录数。
12、查询EmporiumSell表中销售的商品种类。
12>查询ProductInfo中的所有产品的ProdName、UnitPrice,并按UnitPrice降序排列显示。
查询Saleerlnfo表中SalerName、SalerAge、SalerSex和Salary,并按照SalerAge升序和Salary降序排序显示。
14、对Salerlnfo表,求出商场员」[按SalerAge分组的员工的平均Salaryo
25、对Salerlnfo表,求出商场员工按SalerAge分组的员工的平均Salary超过1500的记录。
17、多表查询
1)在“教务管理系统〃数据库的"学生信息〃表和“成绩〃表中,查询出所有考试及格的学生的成绩信息,包插学生的学号、姓名、性别、年级、班级编号及考试成绩,并且按照成绩进行降序排列。
selectS.学号,S.姓名,S.性别,S.年级,S.班级编号」.成绩from学生信息Sinnerjoin成绩表JonS.学号二J.学号
whereJ.成绩>二60
orderbyJ.成绩desc
2)从“教务管理系统〃数据库中的“学生信息〃和“班级信息〃两表中,查询学生和对应的班级信息,要求返回的结果中包含学生的学号、姓名、性别和班级名称及年级。
selectS.学号,S.姓名,S.性别,C.班级名称,C.年级from学生信息Sinnerjoin班级信息ConS.班级编号二C.班级编号
3)在“学生信息〃表和“成绩〃表中创建一个自然连接查询,限定条件为两表中的学号相同,返回学生的学号、姓名、性别、年级、班级编号和成绩信息。
»
selectS.学号,S.姓名,S.性别,S.年级,S.班级编号」.成绩from学生信息Sinnerjoin成绩表JonS.学号二J.学号
4)在“教务管理系统〃数据库的“学生信息〃表和“成绩〃表中,查询所有学生的考试成绩信息,包扌舌学生学号、姓名、课程编号和成绩信息。
selecta.学号刁.姓名,b.课程编号,b.成绩
from学生信息aleftouterjoin成绩表bona.学号二b.学号
5)在“教务管理系统〃数据库的“学生信息〃表和“成绩〃表中,查询学生的考试成绩信息,包括学生学号、姓名、课程编号和成绩信息。
selecta学号刁.姓名,b.课程编号,b.成绩
from学生信息arightouterjoin成绩表bona.学号二b.学号
6)在“班级信息〃表和“课程信息〃表中使用完全连接查询。
selectQ.班级名称a人数a班主任,b.课程名称,b.开课系别from班级信息3fullouterjoin课程信息bona班级编号二b.班级编号
7)在“人事管理系统〃数据库中,对“员工信息〃表和“部门信息〃表进行交叉查询,要求查询返回所任职位为“职员〃的员工编号、员工姓名、所任职位、文化程度和部门名称,并按照员工编号降序排序列。
selecta.员工编号刁.员工姓名a所任职位刁•文化程度,b.部门
名称from员工信息acrossjoin部门信息b
wherea.所在部门编号二b.部门编号
anda.所任职位二,职员’
orderbya.员工编号desc
8)对“教务管理系统〃数据库中的“学生信息〃表进行自连接查询,并在连接时使用内连接,来返回籍贯是“河南〃或者〃北京〃的学生的学号、姓名、班级编号及籍贯信息。
selecta.学号刁.姓名,b.班级编号,b.籍贯from学生信息ainnerjoin学生信息bona.学号二b.学号where籍贯》河南,or籍贯二,北京,
9)在“人事管理系统〃数据库的“员工信息〃表中,查询“所任职位〃为“经理〃的员工编号和员工姓名信息,并为其增加新列〃所在位置〃,列的内容为“员工信息表〃;从“部门信息〃表中查询所有的部门编号和部门名称信息,并定义新增列的内容为"部门信息表〃;最后将两个查询结果联合在一起。
select员工编号,员工姓名,员工信息表,as所在位置from员工信息where所任职位二,经理’
union
select部门编号,部门名称,部门信息表’
from部门信息
10)从commoditySell数据库中,查询商场所销售产品的ProdID、ProdName.SellAmout和SellDate信息。
11)从commoditySell数据库中,查询商场所销售产品的ProdlD>ProdName>SellAmout^SellDate和Empname信息,并根据Empname排序。
12)从TeachingManageSYS数据库中,查询所有教师开设课程情况,包括Tno、Tname>Tsex、Trank和Cno信息。
13)从TeachingManageSYS数据库中,查询所有教师开设课程情况,包括Tno>Tname^Tsex>Trenk、Cno、Cname>Credit和CouresHour信息。
14)
18>子查询
1)从“教务管理系统〃数据库中,查询人数超过45人所在班级中的学生的学号、姓名和班级名称。
selecta.学号刁.姓名,b.班级名称from学生信息ainnerjoin班级信息bona.班级编号二b.班级编号
Wherea.班级编号in
(select班级编号from班级信息fromwhere人数>45)
2)在〃教务管理系统〃数据库中,对于成绩大于等于90的数据行进行查询,并返回考试成绩的学生的学号、姓名、性别、籍贯和所在班级名称及年级信息。
selecta.学号刁.姓名a性别籍贯,b.班级名称,b.年级from学生信息ainnerjoin班级信息b
ona.班级编号二b.班级编号
whereexists(select*from成绩表where学号二e.学号end成绩>=90)
3)在“教务管理系统〃数据库中,查询出任意一个大于平均成绩的学生的学号、姓名、班级编号、课程编号和成绩信息。
select3.学号a姓名a班级编号,b.课程编号,b.成绩from学生信息ainnerjoin成绩表b
<
ona.学万二b.学行
where成绩>any(selectavg(成绩)from成绩表)
4)在〃教务管理系统〃数据库中,查询学生姓名为“朱文娟〃所在班级的学生信息,要求返回学生的学号、姓名、性别、班级编号、班级名称和年级信息。
selecta.学号刁.姓名a性别,b.班级编号,b.班级名称,b.年级
from学生信息ainnerjoin班级信息bona.班级编号二b.班级编号
wherea.班级编号=(select班级编号from学生信息where姓名二侏文娟')
5)在“教务管理系统〃数据库中,查询岀所有非计算机系统的学生信息,并显示出这些学生的考试成绩,再按成绩进行降序排列显示,要求返回学生的学号、姓名、班级编号、课程编号和成绩信息。
selecta学号刁.姓名a班级编号,b.课程编号,b.成绩
from学生信息ainnerjoin成绩表b
ona学号二b.学号
wheree.学号notin(
select学号from学生信息where班级编号in
(select班级编号from课程信息where开课系别二'计算机系')
)
orderby成绩desc
6)查询空调产品在ProductInfo的相关信息,要求该产品在EmporiumSell中的销售总量超过20台。
select*fromproductinfop
where(selectsum(SellAmout)fromemporiumsellewhere=andlike‘%空调'groupby>10
7)从“教务管理系统”数据中,查询班级名称是“计算机01”所有学生的学号、姓名、性别、民族和籍贯信息。
8)在commoditySell数据库中,查询己销售商品的厂家的所有信息。
9)在commoditySell数据库中,查询没有销售商品的厂家的所有信息。
10)在TeachingManageSYS数据中,查询教师姓名为“雷小兵”所教课程信息,要求显示Tno、Tnarne^Cno、Cname>Credit和CourseHour信息。
11)从“教务管理系统”数据库中找出人数超过20人的班级里学生的考试成绩信息,要求显示学生的学号、姓名、班级编号、课程编号和成绩信息。
12)在commoditysell数据库中,查询销售量大于同类产品平均销售量的商场信息。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据查询 数据 查询 练习