sql练习题+答案
SQL经典习题及答案(新手必看)
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
from SC where C#='002') b
where a.score>b.score and a.s#=b.s#;
2、查询平均成绩大于60分的同学的学号和平均成绩;
select S#,avg(score)
from sc
group by S# having avg(score) >60;
3、查询所有同学的学号、姓名、选课数、总成绩;
select Student.S#,Student.Sname,count(SC.C#),sum(score)
from Student left Outer join SC on Student.S#=SC.S#
group by Student.S#,Sname
4、查询姓“李”的老师的个数;
select count(distinct(Tname))
from Teacher
where Tname like '李%';
5、查询没学过“叶平”老师课的同学的学号、姓名;
select Student.S#,Student.Sname
from Student
(完整版)sql练习题+答案
(一)新建以下几个表
student(学生表):
其中约束如下:
(1)学号不能存在相同的
(2)名字为非空
(3)性别的值只能是’男’或’女’
(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系
(5)出生日期为日期格式
(6)年龄为数值型,且在0~100之间
cs(成绩表):
其中约束如下:
(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0~100之间,可以不输入值
course(课程表)
其约束如下:
(1)课程号(cno)不能有重复的
(2)课程名(cname)非空
(三)针对学生课程数据库查询
(1)查询全体学生的学号与姓名。
(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。
(3)查询全体学生的详细记录。
(4)查全体学生的姓名及其出生年份。
(5)查询学校中有哪些系。
(6)查询选修了课程的学生学号。
(7)查询所有年龄在20岁以下的学生姓名及其年龄。
(8)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。
(9)查询年龄不在20~23岁之间的学生姓名、系别和年龄。
(10)查询信息系、数学系和计算机科学系生的姓名和性别。
(11)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。
(12)查询所有姓刘学生的姓名、学号和性别。
(13)查询学号为2009011的学生的详细情况。(具体的学号值根据表中数据确定)
(14)查询姓“欧阳”且全名为三个汉字的学生姓名
(15)查询名字中第2个字为“晨”字的学生的姓名和学号
sql练习题及答案
sql练习题及答案
SQL练习题及答案
在学习SQL(Structured Query Language)时,练习题是非常重要的一部分。通过练习题,我们可以巩固和应用所学的SQL知识,提高自己的实践能力。本文将介绍几个常见的SQL练习题,并提供相应的答案,希望对大家的学习有所帮助。
1. 查询员工表中所有员工的姓名和薪水。
答案:
```sql
SELECT 姓名, 薪水
FROM 员工表;
```
2. 查询员工表中薪水大于5000的员工的姓名和薪水。
答案:
```sql
SELECT 姓名, 薪水
FROM 员工表
WHERE 薪水 > 5000;
```
3. 查询员工表中职位为经理的员工的姓名和薪水。
答案:
```sql
SELECT 姓名, 薪水
FROM 员工表
WHERE 职位 = '经理';
```
4. 查询员工表中薪水在4000到6000之间的员工的姓名和薪水。答案:
```sql
SELECT 姓名, 薪水
FROM 员工表
WHERE 薪水 BETWEEN 4000 AND 6000;
```
5. 查询员工表中薪水最高的员工的姓名和薪水。
答案:
```sql
SELECT 姓名, 薪水
FROM 员工表
WHERE 薪水 = (SELECT MAX(薪水) FROM 员工表);
```
6. 查询员工表中没有分配部门的员工的姓名和薪水。
答案:
```sql
SELECT 姓名, 薪水
FROM 员工表
WHERE 部门 IS NULL;
```
7. 查询员工表中按照薪水从高到低排列的前5名员工的姓名和薪水。答案:
```sql
SQL练习题及答案1(合集五篇)
SQL练习题及答案1(合集五篇)
第一篇:SQL练习题及答案1
SQL练习题:商品销售数据库
商品销售数据库
Article(商品号 char(4),商品名char(16),单价 Numeric(8,2),库存量 int)Customer(顾客号char(4),顾客名 char(8),性别 char(2),年龄 int)OrderItem(顾客号 char(4),商品号 char(4),数量 int, 日期date)
1.用SQL建立三个表,须指出该表的实体完整性和参照完整性,对性别和年龄指出用户自定义的约束条件。(性别分成男女,年龄从10到100)。顾客表的数据用插入语句输入数据,其它两表可用任意方式输入数据。
create table OrderItem(顾客号char(4),商品号char(4),日期datetime,数量 smallint,primary key(顾客号,商品号,日期),foreign key(商品号)references Article(商品号), foreign key(顾客号)references Custommer(顾客号));
2.检索定购商品号为…0001‟的顾客号和顾客名。
select distinct 顾客号,顾客名from OrderItem where 商品号='0001'
3.检索定购商品号为…0001‟或…0002‟的顾客号。
select distinct 顾客号 from OrderItem where 商品号='0001' or 商品号='0002';
sql练习题及答案
sql练习题及答案
SQL练习题及答案
SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。在数据库管理系统中,SQL被广泛应用于数据的查询、插入、更新和删除等操作。掌握SQL语言对于数据库开发和数据分析非常重要。在这篇文章中,我们将提供一些SQL练习题及其答案,帮助读者巩固和提升SQL的应用能力。
1. 查询员工表中所有员工的姓名和工资。
答案:
```sql
SELECT 姓名, 工资 FROM 员工表;
```
2. 查询员工表中工资大于5000的员工的姓名和工资。
答案:
```sql
SELECT 姓名, 工资 FROM 员工表 WHERE 工资 > 5000;
```
3. 查询员工表中工资在3000到5000之间的员工的姓名和工资。
答案:
```sql
SELECT 姓名, 工资 FROM 员工表 WHERE 工资 BETWEEN 3000 AND 5000;
```
4. 查询员工表中姓"张"的员工的姓名和工资。
```sql
SELECT 姓名, 工资 FROM 员工表 WHERE 姓名 LIKE '张%';
```
5. 查询员工表中工资最高的员工的姓名和工资。
答案:
```sql
SELECT 姓名, 工资 FROM 员工表 WHERE 工资 = (SELECT MAX(工资) FROM 员工表);
```
6. 查询员工表中每个部门的员工数量。
答案:
```sql
SELECT 部门, COUNT(*) AS 员工数量 FROM 员工表 GROUP BY 部门;
```
SQL复习题(附部分答案)
SQL复习题(附部分答案)
⼀、单选题
1.根据关系数据基于的数据模型——关系模型的特征判断下列正确的⼀项:(___)
A.只存在⼀对多的实体关系,以图形⽅式来表⽰。
B.以⼆维表格结构来保存数据,在关系表中不允许有重复⾏存在。
C.能体现⼀对多、多对多的关系,但不能体现⼀对⼀的关系。
D.关系模型数据库是数据库发展的最初阶段。
答案[B]
2、在“连接”组中有两种连接认证⽅式,其中在(___)⽅式下,需要客户端应⽤程序连接时提供登录时需要的⽤户标识和密码。
A、Windows⾝份验证
B、SQL Server ⾝份验证
C、以超级⽤户⾝份登录时
D、其他⽅式登录时
答案[B]
3、关系数据库中,主键是(___),当运⽤Transact-SQL语句创建主键时,可以是(__)。
⑴ A、为标识表中唯⼀的实体 B、创建唯⼀的索引,允许空值
C、只允许以表中第⼀字段建⽴
D、允许有多个主键的
⑵ A、create table table1
(column1 char(13) not null primary key,
column2 int not on primary key;
B、alter table table1 with nocheck add
constraint [PK_table1] primary key nonclustered ( column1) on primary;
C、alter table table1 column1 primary key ;
答案[ A C]
4、视图是⼀种常⽤的数据对象,可以简化数据库操作,当使⽤多个数据表来建⽴视图时,不允许在该语句中包括(___)等关键字。
SQL查询习题及答案
36.设教学用的四个基本表(S,C,T,SC)
(2)查询年龄大于23岁的女同学的学号和姓名
select 姓名,学号
from s
where 性别='女' and 年龄>23
(3)查询至少选修了刘老师所讲授课程中的一门课程的女同学姓名select s.姓名
from s,sc
where s.性别='女'and s.学号=sc.学号and sc.课程编号in
(select c.课程编号
from c,t
where c.教师编号=t.教师编号and t.姓名='刘%'
)
(4)查询至少选修了2门课程的学生学号
select sc.学号
from sc
group by 学号
having count(课程编号)>2
(5)查询全部学生都选修的课程号与课程名
select c.课程编号,c.课程名称
from c,sc
where sc.课程编号=c.课程编号and sc.学号=
(select distinct s.学号
from s
)
(6)计算机系每个教师讲授的课程号
select t.教师编号,课程编号
from c,t
where t.所在系='计算机系
(7)查询没有选修过任何一门课程的学生的学号
select s.学号
from s
where s.学号not in
(select distinct sc.学号
from sc
)
(10)统计个系教师的人数
select count (教师编号)
from t
group by 所在系
(11)统计出教师人数超过10人的系的名称
select t.所在系
from t
group by 所在系
sql练习题答案
sql练习题答案
1. 查询employee表中所有员工的姓名和工资信息。
SELECT Name, Salary
FROM employee;
2. 查询employee表中工资大于5000的员工的姓名和工资信息。
SELECT Name, Salary
FROM employee
WHERE Salary > 5000;
3. 查询employee表中部门号为10且工资大于3000的员工的姓名和工资信息。
SELECT Name, Salary
FROM employee
WHERE DepartmentID = 10 AND Salary > 3000;
4. 查询employee表中部门号为20或30的员工的姓名和工资信息。
SELECT Name, Salary
FROM employee
WHERE DepartmentID IN (20, 30);
5. 查询employee表中工资在2000到5000之间的员工的姓名和工资信息。
SELECT Name, Salary
FROM employee
WHERE Salary BETWEEN 2000 AND 5000;
6. 查询employee表中所有员工的姓名和入职日期信息,并按照入职日期降序排列。
SELECT Name, HireDate
FROM employee
ORDER BY HireDate DESC;
7. 查询employee表中工资最高的员工的姓名和工资信息。
SELECT Name, MAX(Salary) AS MaxSalary
SQL练习及答案
SQL练习及答案
问题描述:
为管理岗位业务培训信息,建立3个表:
S (S#,SN,SD,SA) S#,SN,SD,SA分别代表学号、学员姓名、所属单位、学员年龄C (C#,CN ) C#,CN分别代表课程编号、课程名称SC ( S#,C#,G ) S#,C#,G分别代表学号、所选修的课程编号、学习成绩
1.使用标准SQL嵌套语句查询选修课程名称为?税收基础?的学员学号和姓名Select SN,SD FROM S
Where [S#]
IN( Select [S#] FROM C,SC
Where C.[C#]=SC.[C#]
AND CN=N'税收基础')
2.使用标准SQL嵌套语句查询选修课程编号为?C2?的学员姓名和所属单位Select SN,SD FROM S
Where [S#]IN (
Select [S#] FROM SC
Where [C#]='C2')
3.使用标准SQL嵌套语句查询不选修课程编号为?C5?的学员姓名和所属单位Select SN,SD FROM S
Where [S#] NOT IN(
Select [S#] FROM SC
Where [C#]='C5')
4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
Select SN,SD FROM S
Where [S#] IN(
Select [S#] From SC
GROUP BY [S#]
HAVING Count (Distinct C#)
5.查询选修了课程的学员人数
Select学员人数=COUNT(DISTINCT [S#]) FROM SC
SQL习题参考答案
8. 数据库设计过程包括几个主要阶段?
这里只概要列出数据库设计过程的六个阶段:
( l )需求分析;
( 2 )概念结构设计;
( 3 )逻辑结构设计;
( 4 )数据库物理设计;
( 5 )数据库实施;
( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
二、选择题
1. 在下面所列出的条目中,哪些是数据库管理系统的基本功能__ ABC ____。
A. 数据库定义
B. 数据库的建立和维护
C. 数据库存取
D. 数据库和网络中其他软件系统的通信
2. 在数据库的三级模式结构中,内模式有___ A ___。
A. 1个
B. 2个
C. 3个
D. 任意多个
3. 下面列出的条目中,哪些是数据库技术的主要特点___ ABC ___。
A. 数据的结构化
B. 数据的冗余度小
C. 较高的数据独立性
D. 程序的标准化
4. __ B ___是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的聚集。
A. 数据库系统
B. 数据库
C. 关系数据库 . 数据库管理系统
5. 数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系,正确的表述是__ B ____。
A. DB和DBS都是DBMS的一部分
B. DBMS和DB都是DBS的一部分
C. DB是DBMS的一部分
D. DBMS包括数据库系统和DB
6. 用于对数据库中数据的物理结构描述的是___C_____。
SQL语句练习及答案
sql语句练习题1
数据库有如下四个表格:
student(sno,sname,sage,ssex,sdpt) 学生表
系表(dptno,dname)
course(cno,cname, gradet, tno) 课程表
sc(sno,cno,score) 成绩表
teacher(tno,tname) 教师表
要求:完成以下操作
1.查询姓"欧阳"且全名为三个汉字的学生的姓名。
select sname from student where sname like “欧阳__‟;
2.查询名字中第2个字为"阳"字的学生的姓名和学号。
select sname,sno from student where sname like '_阳%';3.查询所有不姓刘的学生姓名。
select sname,sno,ssex
from student
where sname not like “刘%”;
4.查询db_design课程的课程号和学分。
select cno,ccredit from course
where cname like 'db_design'
5.查询以"db_"开头,且倒数第3个字符为i的课程的详细情况。
select * from course where cname like 'db%i_ _';
6.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查
询缺少成绩的学生的学号和相应的课程号。
select sno,cno from sc where grade is null;
7.查所有有成绩的学生学号和课程号。
SQL语言练习题及答案
SQL语言练习题及答案
第三章SQL语言
一、选择题
1.SQL语言是(B)的语言,容易学习。
A.过程化
B.非过程化
C.格式化
D.导航式
2.SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要
的,也是使用最频繁的语句是(A)。
A.SELECT
B.INSERT
C.UPDATE
D.DELETE
3.在视图上不能完成的操作是()。
A.更新视图
B.查询
C.在视图上定义新的表
D.在视图上定义新的视图
CREATE、
4.SQL语言集数据查询、数据操纵、数据定义和数据控制功能
于一体,其中,
DROP、ALTER语句是实现哪种功能()。
A.数据查询
B.数据操纵
C.数据定义
D.数据控制
5.SQL语言中,删除一个视图的命令是()。
6.在SQL语言中的视图VIEW是数据库的()。
7.下列的SQL语句中,()不是数据定义语句。
8.若要撤销数据库中已经存在的表S,可用()。
9.若要在基本表S中增加一列CN(课程名),可用()。TABLE S(CN CHAR(8))
TABLE S ALTER(CN CHAR(8))
TABLE S ADD(CN CHAR(8))
TABLE S(ADD CN CHAR(8))
10.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、
性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL 语句是()。
A.DELETE Age from S
B.ALTER TABLE S DROP Age
C.UPDATE S Age
SQL练习题及答案
选择题
(1)如果要查询所藏图书中,各个出版社图书的最高单价、平均单价和册数,所用的SQL 语句是
A)SELECT 出版单位,MAX(单价),AVG(单价),COUNT(*);
FROM 图书;
GROUP BY 出版单位
B)SELECT 出版单位,MAX(单价),AVG(单价),COUNT(*);
FROM 图书;
HAVING 出版单位
C)SELECT 出版单位,MAX(单价),AVG(单价),COUNT(*);
FROM 图书
GROUP BY 出版单位
D)SELECT 出版单位,MIN(单价), AVG(单价),COUNT(*);
FROM 图书;
HAVING 出版单位
(2)为"运动员"表增加一个字段"得分"的SQL语句是
A)CHANGE TABLE运动员ADD得分I
B)ALTER DATA运动员ADD得分I
C)ALTER TABLE运动员ADD得分I
D)CHANGE TABLE运动员IN得分I
(3)利用SQL数据更新功能,自动计算更新每个"设备总金额"字段的字段值,该字段值等于"单价*设备数量"的值,正确命令为
A)UPDATE 设备表SET 设备总金额=单价*设备数量
B)UPDATE 设备表FOR 设备总金额=单价*设备数量
C)UPDATE 设备表WITH 设备总金额=单价*设备数量
D)UPDATE 设备表WHERE 设备总金额=单价*设备数量
(4)查找教师表中教师最高的工资值,下列SQL语句正确的是
A)SELECT MAX(工资) FROM 教师表
B)SELECT MIN(工资) FROM 教师表
SQL语句练习题答案
SQL语句练习题答案
一在数据库 school 中建立student , sc, course 表。
学生表、课程表、选课表属于数据库 school ,其各自的数据结构如下:
学生 student (sno,sname,ssex,sage,sdept)
课程表 course(cno,cname,cpno,ccredit)
学生选课 sc(sno,cno,grade)
二设定主码
1 student表的主码:sno
2 course表的主码:cno
3 sc表的主码:sno,cno
1写出使用 create table 语句创建表 student , sc, course 的sql 语句
2
3 删除student表中的元组
4在数据库school中删除关系student
5在student表添加属性sbirthdate 类型 datetime
delete
1 删除所有 jsj 系的男生delete from student where sdept=’jsj’ and ssex=’男’;
2 删除“数据库原理”的课的选课纪录
delete from sc where cno in (select cno fromcourse where cname=’数据库原理’); update
1 修改 0001 学生的系科为: jsj
2 把陈小明的年龄加1岁,性别改为女。 2 修改李文庆的1001课程的成绩为 9
3 分 3 把“数据库原理”课的成绩减去1分
select 查询语句
一单表
1查询年龄在19至21岁之间的女生的学号,姓名,年龄,按年龄从大到小排列。2查询姓名中第2个字为“明”字的学生学号、性别。3查询 1001课程没有成绩的学生学号、课程号
sql考试题及答案
sql考试题及答案
sql考试题及答案
【篇一:sql试题及答案】
题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)
1. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。a.dbms b.db c.dbs d.dba
2. 下列四项中,不属于sql2005实用程序的是()。a.对象资源管理器b.查询分析器c.服务管理器d.媒体播放器
3. sql server安装程序创建4个系统数据库,下列哪个不是()系统数据库。
a. master
b. model
c. pub
d. msdb
4. 下列哪个不是sql 数据库文件的后缀。a..mdf b..ldf c..tif d..ndf
5. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示()
a.零个字符
b.1个字符串
c. 多个字符串
d. 以上都是
6. sql语言中,条件年龄between 15 and 35表示年龄在15至35之间,且( )。
a.包括15岁和35岁
b.不包括15岁和35岁
c.包括15岁但不包括35岁
d.包括35岁但不包括15岁7. sql 的视图是从()中导出的。a. 基本表b. 视图
c. 基本表或视图
d. 数据库
8. 在sql语言中,建立存储过程的命令是() a、create procedure
b、create rule
c、create dure
d、create file
SQL课后练习题(1-9章答案)
SQL课后练习题(1-9章答案)
第一章
1、数据完整性是指( D )
A.数据库存中的数据不存在重复
B.数据库中所有的数据格式是一样的
C.所有的数据全部保存在数据库中
D.数据库中的数据能够正确反映情况
2、SQL中pubs数据库属于(A )
A.用户数据库
B.系统数据库
C.数据库模板
D.数据库管理系统
3、数据冗余指的是( D )
A.数据与数据之间没有联系
B.数据有丢失
C.数据量太大
D.存在重复的数据
4、SQL Server数据库的主数据文件的扩展名为( B )
A. .sql
B. .mdf
C. .mdb
D. .ldf
5、下列关于关系数据库叙述错误的是(B )
A.关系数据库的结构一般保持不变,但也可根据需要进行改变
B.一个数据表组成一个关系数据库,多种不同数据则需要创建多个数据库
C. 关系数据库表中的所有记录的关键字字段的值互不相同
D. 关系数据库表中的外部关键字不能用于区别该表中的记录
6、创建数据库时,需要指定( C )属性。
A.数据库初始大小
B.数据库的存放位置
C.数据库的物理名和逻辑名
D.数据库的访问权限
7、以下说法正确的是( A )
A.通过SQL Server服务器对SQL Server的启动、停止和通过服务管理器对SQL Server的启动、停止是同等功效
B.必须先启动服务管理器中的SQL Server服务之后才能通过SQL Server服务管理器启动SQL Server
C.必须先通过SQL Server服务管理器启动SQL Server之后才能启动服务管理器中的SQL Server服务
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)新建以下几个表
student(学生表):
其中约束如下:
(1)学号不能存在相同的
(2)名字为非空
(3)性别的值只能是’男’或’女’
(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系
(5)出生日期为日期格式
(6)年龄为数值型,且在0~100之间
cs(成绩表):
其中约束如下:
(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0~100之间,可以不输入值
course(课程表)
其约束如下:
(1)课程号(cno)不能有重复的
(2)课程名(cname)非空
(三)针对学生课程数据库查询
(1)查询全体学生的学号与姓名。
(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。
(3)查询全体学生的详细记录。
(4)查全体学生的姓名及其出生年份。
(5)查询学校中有哪些系。
(6)查询选修了课程的学生学号。
(7)查询所有年龄在20岁以下的学生姓名及其年龄。
(8)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。
(9)查询年龄不在20~23岁之间的学生姓名、系别和年龄。
(10)查询信息系、数学系和计算机科学系生的姓名和性别。
(11)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。
(12)查询所有姓刘学生的姓名、学号和性别。
(13)查询学号为2009011的学生的详细情况。(具体的学号值根据表中数据确定)
(14)查询姓“欧阳”且全名为三个汉字的学生姓名
(15)查询名字中第2个字为“晨”字的学生的姓名和学号
(16)查询所有不姓刘的学生姓名。
(17)查询sql课程的课程号和学分。
(18)查询以"DB_"开头,且倒数第3个字符为 i的课程的详细情况。
(19)查询缺少成绩的学生的学号和相应的课程号。
(20)查所有有成绩的学生学号和课程号。
(21)查询计算机系年龄在20岁以下的学生姓名。
(22)查询信息系、数学系和计算机科学系学生的姓名和性别。(使用多个条
件表达式)
(23)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年
龄。(使用多个条件表达式)
(24)查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。
(25)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学
生按年龄降序排列。
(26)查询学生总人数。
(27)查询选修了课程的学生人数。
(28)计算1号课程的学生平均成绩。
(29)查询选修1号课程的学生最高分数。
(30)求各个课程号及相应的选课人数。
(31)查询选修了3门以上课程的学生学号。
(32)查询有3门以上课程是90分以上的学生的学号及(90分以上的)课程数。
(33)查询学生2006011选修课程的总学分。
(34)查询每个学生选修课程的总学分。
(35)查询每个学生及其选修课程的情况。
(36)查询选修2号课程且成绩在90分以上的所有学生的学号、姓名
(37)查询每个学生的学号、姓名、选修的课程名及成绩。
(38)查询与“刘晨”在同一个系学习的学生(分别用嵌套查询和连接查询)
(39)查询选修了课程名为“信息系统”的学生学号和姓名
(40)查询其他系中比信息系任意一个(其中某一个)学生年龄小的学生姓名和年龄
(41)查询其他系中比信息系所有学生年龄都小的学生姓名及年龄。分别用
ALL谓词和集函数
(42)查询所有选修了1号课程的学生姓名。(分别用嵌套查询和连查询)
(43)查询没有选修1号课程的学生姓名。
(44)查询选修了全部课程的学生姓名。
(45)查询至少选修了学生95002选修的全部课程的学生号码。
(46)查询计算机科学系的学生及年龄不大于19岁的学生的信息。
(47)查询选修了课程1或者选修了课程2的学生的信息。
(48)查询计算机科学系中年龄不大于19岁的学生的信息。
(49)查询既选修了课程1又选修了课程2的学生的信息。
(50)查询计算机科学系的学生与年龄不大于19岁的学生的差集。
(51)通过查询求学号为1学生的总分和平均分。
(52)求出每个系的学生数量
(53)查询平均成绩大于85的学生学号及平均成绩。
(54)要求查寻学生的所有信息,并且查询的信息按照年龄由高到低排序,如
果年龄相等,则按照学号从低到高排序
1.在SELECT语句中DISTINCT、ORDER BY、GROUP BY和HAVING子句的功能各是什么?
答各子句的功能如下。
DISTINCT:查询唯一结果。
ORDER BY:使查询结果有序显示。
GROUP BY:对查询结果进行分组。
HAVING:筛选分组结果。
2.在一个SELECT语句中,当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,SQL的执行顺序如何?
答其执行顺序如下:
(1)执行WHERE子句,从表中选取行。
(2)由GROUP BY对选取的行进行分组。
(3)执行聚合函数。
(4)执行HAVING子句选取满足条件的分组。