资源描述
数据查询练习练习前,先附加“教务管理系统”和“人事管理系统”数据库1、在“学生信息”表中,以3种不同的列名显示方式,查询学生信息。select学号No:姓名ame:性别Sex:年级Grade:籍贯,岀生所在地 from学生信息select 学号 as No;姓名 as Name:性别 as Sex:年级 as Grade:籍贯 as,岀生所在地from学生信息select W二学号/Name/=姓名,Sex=性别/Grade,=年级,岀生所在地二籍贯 from学生信息2、交换列的显示顺序,查询查询“学生信息表中所有学生的学号、姓名、 政治而貌和籍贯信息。select学号,姓名,政治面貌,籍贯from学生信息select政治面貌,学号,姓名,籍贯from学生信息3、对比不使用DISTINCT和使用DISTINCT,查询学生信息表的籍贯列 中的信息。Iselect籍贯from学生信息select distinct籍贯from学生信息4、查询列表中使用计算列。1)查询“成绩表中学生成绩信息,把成绩减少10分显示,同时显示编号、学号、调整前的成绩。select编号,学号/调整前的成绩成绩,;调整后的成绩成绩-10 from成绩表2)查询“学生信息表中学生学号、姓名、性别、民族和籍贯信息组,结果 组合一列显示。select学生信息二学号+学号匸姓名+姓名+,性别+性别匸民族+民族+籍贯:+籍贯from学生信息5、WHERE子句的使用1)从“学生信息表中,查询出“籍贯为河南的学生的学号、姓名、性别、 民族和籍贯信息。select学号姓名,性别,民族,籍贯from学生信息where籍贯-河南,)2)从学生信息表中,查询出“籍贯不是“河南的学生的学号、姓名、性别、 民族和籍贯信息。select学号,姓名,性别,民族,籍贯from学生信息where籍贯匕河南,3)从“成绩表中,查询出“成绩小于60的学生的学号、姓名信息。select学号,姓名from成绩表 where成绩v604)从“学生信息表中,查询出籍贯为“河南并且“民族为汉的学生的 学号、姓名、性别、民族和籍贯信息。select学号,姓名,性别,民族,籍贯from学生信息where籍贯河南Vnd 民族二汉5)从学生信息表中,查询出“籍贯为“河南或者“上海的学生的学号、 姓名、性别、民族和籍贯信息。select学号,姓名,性别,民族,籍贯from学生信息where籍贯二伴可南or 籍贯上海6)在“成绩表中,查询岀成绩在70与80之间的学生的编号、学号、课程 编号和成绩信息。select编号,学号,课程编号,成绩from成绩表where成绩between70 and 807)在“成绩表中,查询出成绩不在70与80之间的学生的编号、学号、课 程编号和成绩信息。select编号,学号,课程编号,成绩from成绩表where成绩not between70 and 808)在“人事管理系统数据库中查询从2004-05-01到2007-01-01的日期内 入职的员工信息,包括员工编号、员工姓名、性别和入职时间。select员工编号,员工姓名,性别,入职时间from员工信息where入职时间 between 2004-05-02 and 2007-01-01J9)从“学生信息表中,查询岀“籍贯是“湖南、湖北和江西的学生的 学号、姓名、性别、民族和籍贯信息。select学号,姓名,性别,民族,籍贯from学生信息where籍贯IN湖 南:“湖北:江西)10)从学生信息表中,查询出除籍贯是湖南、“湖北和“江西以外的 学生的学号、姓名、性别、民族和籍贯信息。select学号,姓名,性别,民族,籍贯from学生信息where籍贯NOT IN (湖南:八湖北;江西,)11)查询“学生信息表中姓名包含“红字的学生的学号、姓名、性别、民 族、籍贯和班级编号信息。select学号,姓名,性别,民族,籍贯,班级编号from学生信息where姓名like 红12)查询“学生信息表中姓氏为“徐的学生的学号、姓名、性别、民族、 籍贯和班级编号信息。select学号,姓名,性别,民族,籍贯,班级编号from学生信息where 姓名like徐卅13)查询学生信息表中姓名不包含“红字的学生的学号、姓名、性别、 民族、籍贯和班级编号信息。select学号,姓名,性别,民族,籍贯,班级编号from学生信息where 姓名like I八红12)在“教务管理系统数据库中,查询还未分配班主任的班级信息。select * from 班级信息where 班主任 is null在数据库commoditysell中操作13)查询数据表ProductInfo中前5条记录。14)从ProductInfo表中,查询产品名称为“丙电视机”的产品信息。25)从ProductInfo表中,查询FactAddr为“四川绵阳”或广东东莞”,同 时 StockAmount 大于 110 的产品的 ProdID、StockAmount 和 FactAddr 信息, 并且给列名分别取别名为产品编号、库存数量和厂商地址。16)从 ProductInfo 表中,查询 StockAmount 在 250 和 400(包含 200 和 400) 之间的产品的ProdName和StockAmounto17)从 ProductInfo 表中,查询 StockAmount 在 250 和 400(不包含 200 和 400) 之间的产品的ProdName和StockAmounto18)从EmporiumSell表中,查询EmpID为9602和0303的商场销售的商品 的 ProdlD SellAmount 和 EmpID19)从EmporiumSell表中,查询所有EmpID以“9”开头的商场的销售记录。20)从ProductInfo表中,查询所有生产“洗衣机”的厂商的ProdNameProdFact FactAddr FactTele 和 ProdID。6、ORDER BY子句的使用1)从数据库”教务管理系统的“班级信息表中,按照班级的人数进行降序排 列。select 班级编号,年级,班级名称,人数,班主任 from 班级信息 order by 人数 desc2)从数据库“教务管理系统的“班级信息表中,按照年级进行升序排列,年 级相同的再按班级人数进行降序排列。select 班级编号,年级,班级名称,人数,班主任 from 班级信息 order by 年级 asc,人数 desc7、GROUP BY子句的使用1)在“教务管理系统数据库的“成绩表中,查询考试课程数。select count(distinct 课程编号)from 成绩表2)在“教务管理系统数据库的“成绩表中,查询课程编号为42课程的总 分。select sum(成绩)as总分from成绩表where课程编号二12,3)在“教务管理系统数据库的“成绩表中,查询成绩最高的。select max(成绩)as最高分from成绩表4)在“教务管理系统数据库的“成绩表中,查询成绩最低的。select min(成绩)as最低分from成绩表5)在“教务管理系统数据库的班级信息表中,按照年级查询岀该年级各 班的总人数以及班级的数量。select年级,sum(人数)as年级总人数,count(班级编号)as班级数量from班级信息group by 年级6)在“教务管理系统数据库的“成绩表中,按照学号分组,查询学生课程 成绩都大于等于80课程数。select学号?count(课程编号)from成绩表where 成绩二80group by 学号7)在“教务管理系统数据库的“成绩表中,按照学号分组,查询学生总成 绩,要求总成绩大于等于250。select学号,sum(成绩)as总分from成绩表group by 学号(having sum(成绩)=1508、COMPUTE和COMPUTE BY子句的使用1)在AdventureWorks数据库的/zSalesOrderHeader,/表中,使用 COMPUTE 子 句生成SalesOrderHeader表中SubTotal与TotalDue的和的合计。SELECT CustomerlD, OrderDate, SubTotal, TotalDueFROMWHERE SalesPersonlD = 275ORDER BY OrderDateCOMPUTE SUM(SubTotal), SUM(TotalDue)2) 在AdventureWorks数据库的/SalesOrderHeader,/表中,使用 COMPUTE 子句按销售人员生成SalesOrderHeader表中SubTotal与TotalDue的和 的合计。SELECT SalesPersonlD, CustomerlD, OrderDate, SubTotal, TotalDue$FROMORDER BY SalesPersonlD, OrderDateCOMPUTE SUM(SubTotal), SUM(TotalDue) BY SalesPersonlD在数据库commoditysell中操作9、查询ProductInfo表中,所有“电视机”的平均价格。10、查询EmporiumSell表中总的销售记录数。12、查询EmporiumSell表中销售的商品种类。12 查询 ProductInfo 中的所有产品的 ProdName、UnitPrice,并按 UnitPrice 降序排列显示。查询 Saleerlnfo 表中 SalerName、SalerAge、SalerSex 和 Salary,并按照 SalerAge升序和Salary降序排序显示。14、对Salerlnfo表,求出商场员按SalerAge分组的员工的平均Salaryo25、对Salerlnfo表,求出商场员工按SalerAge分组的员工的平均Salary超 过1500的记录。17、多表查询1)在“教务管理系统数据库的学生信息表和“成绩表中,查询出所有考试 及格的学生的成绩信息,包插学生的学号、姓名、性别、年级、班级编号 及考试成绩,并且按照成绩进行降序排列。select S.学号,S.姓名,S.性别,S.年级,S.班级编号.成绩from 学生信息S inner join成绩表J on S.学号二J.学号where J.成绩 二60order by J.成绩 desc2)从“教务管理系统数据库中的“学生信息和“班级信息两表中,查询学生 和对应的班级信息,要求返回的结果中包含学生的学号、姓名、性别和班 级名称及年级。select S.学号,S.姓名,S.性别,C.班级名称,C.年级from 学生信息S inner join班级信息C on S.班级编号二C.班级编号3)在“学生信息表和“成绩表中创建一个自然连接查询,限定条件为两表中 的学号相同,返回学生的学号、姓名、性别、年级、班级编号和成绩信息。select S.学号,S.姓名,S.性别,S.年级,S.班级编号.成绩from 学生信息S inner join成绩表J on S.学号二J.学号4)在“教务管理系统数据库的“学生信息表和“成绩表中,查询所有学生的 考试成绩信息,包扌舌学生学号、姓名、课程编号和成绩信息。select a.学号刁.姓名,b.课程编号,b.成绩from学生信息a left outer join成绩表b on a.学号二b.学号5)在“教务管理系统数据库的“学生信息表和“成绩表中,查询学生的考 试成绩信息,包括学生学号、姓名、课程编号和成绩信息。select a学号刁.姓名,b.课程编号,b.成绩from学生信息a right outer join成绩表b on a.学号二b.学号6)在“班级信息表和“课程信息表中使用完全连接查询。select Q.班级名称a人数a班主任,b.课程名称,b.开课系别from班级信息3 full outer join课程信息b on a班级编号二b.班级编号7)在“人事管理系统数据库中,对“员工信息表和“部门信息表进行交叉查 询,要求查询返回所任职位为“职员的员工编号、员工姓名、所任职位、 文化程度和部门名称,并按照员工编号降序排序列。select a.员工编号刁.员工姓名a所任职位刁文化程度,b.部门名称from员工信息a cross join部门信息bwhere a.所在部门编号二b.部门编号and a.所任职位二,职员order by a.员工编号 desc8)对“教务管理系统数据库中的“学生信息表进行自连接查询,并在连接时 使用内连接,来返回籍贯是“河南或者北京的学生的学号、姓名、班级 编号及籍贯信息。select a.学号刁.姓名,b.班级编号,b.籍贯from 学生信息a inner join学生 信息bona.学号二b.学号where籍贯河南,or籍贯二,北京,9)在“人事管理系统数据库的“员工信息表中,查询“所任职位为“经理的 员工编号和员工姓名信息,并为其增加新列所在位置,列的内容为“员工 信息表;从“部门信息表中查询所有的部门编号和部门名称信息,并定义 新增列的内容为部门信息表;最后将两个查询结果联合在一起。select员工编号,员工姓名,员工信息表,as所在位置from员工信息 where所任职位二,经理unionselect部门编号,部门名称,部门信息表from部门信息10)从commoditySell数据库中,查询商场所销售产品的ProdID、ProdName. SellAmout 和 SellDate 信息。11)从commoditySell数据库中,查询商场所销售产品的ProdlDProdName 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人所在班级中的学生的学 号、姓名和班级名称。select a.学号刁.姓名,b.班级名称from 学生信息a inner join班级信息b on a.班级编号二b.班级编号Where a.班级编号in(select班级编号from班级信息from where人数45)2)在教务管理系统数据库中,对于成绩大于等于90的数据行进行查询, 并返回考试成绩的学生的学号、姓名、性别、籍贯和所在班级名称及年级 信息。select a.学号刁.姓名a性别籍贯,b.班级名称,b.年级from学生信息a inner join班级信息bon a.班级编号二b.班级编号where exists(select * from 成绩表 where 学号二e.学号 end 成绩=90)3)在“教务管理系统数据库中,查询出任意一个大于平均成绩的学生的学 号、姓名、班级编号、课程编号和成绩信息。select 3.学号a姓名a班级编号,b.课程编号,b.成绩from学生信息a inner join 成绩表 bon a.学万二b.学行where 成绩any(select avg(成绩)from 成绩表)4)在教务管理系统数据库中,查询学生姓名为“朱文娟所在班级的学生信 息,要求返回学生的学号、姓名、性别、班级编号、班级名称和年级信息。 select a.学号刁.姓名a性别,b.班级编号,b.班级名称,b.年级from学生信息a inner join班级信息b on a.班级编号二b.班级编号where a.班级编号=(select班级编号from学生信息where姓名二侏文娟)5)在“教务管理系统数据库中,查询岀所有非计算机系统的学生信息,并 显示出这些学生的考试成绩,再按成绩进行降序排列显示,要求返回学生 的学号、姓名、班级编号、课程编号和成绩信息。select a学号刁.姓名a班级编号,b.课程编号,b.成绩from学生信息a inn er join成绩表bon a学号二b.学号where e.学号 not in(select学号from学生信息where班级编号in(select班级编号from课程信息where开课系别二计算机系)order by 成绩 desc6)查询空调产品在ProductInfo的相关信息,要求该产品在EmporiumSell中 的销售总量超过20台。select * from productinfo pwhere (select sum(SellAmout) from emporiumsell e where = and like 空调 group by 107)从“教务管理系统”数据中,查询班级名称是“计算机01”所有学生的 学号、姓名、性别、民族和籍贯信息。8)在commoditySell数据库中,查询己销售商品的厂家的所有信息。9)在commoditySell数据库中,查询没有销售商品的厂家的所有信息。10)在TeachingManageSYS数据中,查询教师姓名为“雷小兵”所教课程信 息,要求显示 Tno、Tnarne Cno、Cname Credit 和 CourseHour 信息。11)从“教务管理系统”数据库中找出人数超过20人的班级里学生的考试 成绩信息,要求显示学生的学号、姓名、班级编号、课程编号和成绩信息。12)在commoditysell数据库中,查询销售量大于同类产品平均销售量的商 场信息。
展开阅读全文