SQL进阶题一(一)

来源:互联网 发布:linux 复制粘贴命令 编辑:程序博客网 时间:2024/06/05 23:41


SQL进阶题一(一):


题目来源:SQL查询语句练习题27 - friendan的专栏 - CSDN博客 http://blog.csdn.net/friendan/article/details/8072668


           


                      

1.分别查询学生表和学生修课表中的全部数据。
select * from student

select * from course

本题考查select * 从表中选取全部的列

2.
查询成绩在7080分之间的学生的学号、课程号和成绩。
select Sno ,Cno ,Grade

from SC

where Grade between 70 and 80;
本题考查where字句以过滤筛选满足条件的指定列以及between….and….限制某个范围内条件


3
.查询C01号课程成绩最高的分数
select max (Grade)

from SC

where Cno = C01 ;
本题考查max函数返回指定列中的最大值


--4.
查询学生都选修了哪些课程,要求列出课程号。
select Cno,Cname

from course

where Cno in (select distinct Cno from SC)
本题考查in操作符允许在where子句中规定多个值以及distinct指定列中返回唯一确定的值。


5.
查询Northwind数据库中orders表的OrderIDCustomerIDOrderDate,
--
并将最新的定购日期(OrderDate)列在前边。
select OrderID,CustomerID,OrderDate

     from orders

order by OrderDate desc;
本题考查order by对结果集按照一个或者多个列进行排序,默认asc升序,desc是降序



       6.
查询Northwind数据库中orders表的ShipCountry列以B,C,D,F开始且第三个字符为"a"OrderIDCustomerIDShipCountry的信息。

select OrderID,CustomerID,ShipCountry

    from orders

        where ShipCountery = like [BCDF]_a%’;

本题考查where字句中like在指定列中搜索指定的模式,下面为通配符

%

替代 0个或多个字符

_

替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]
or
[!charlist]

不在字符列中的任何单一字符


        7.
查询Northwind数据库中orders表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是"a"OrderIDCustomerIDShipCountry的信息。
        select select OrderID,CustomerID,ShipCountry

        from orders

              where ShipCountery = like [!BCDF]%a’;

考察点同6。。。。

8.
查询修了C02号课程的所有学生的平均成绩、最高成绩和最低成绩。
select avg(Grade) ,max(Grade) ,min(Grade)

from SC

where Cno = C02
考察点max,min,avg返回指定列中的最大值,最小值以及平均值



       9.
统计每个系的学生人数。
       select Sdept
count*
                from student

where Sdept in (select distinct Sdept from student)

group by Sdept ;

本题考查点COUNT(column_name)函数返回指定列的值的数目(NULL不计入)


10.统计每门课程的修课人数和考试最高分。
select Cname, count(*) ,max(Grade)

       fromcourse,SC

         where Cno in (select distinct Cnofrom SC)

and course.Cno = SC.Cno

group by course.Cname;

考察点SQL AND & OR 运算符如果第一个条件和第二个条件都成立,则 AND运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。以及从多个表中筛选满足条件的列。