sql数据库训练

发布 2022-09-21 01:54:28 阅读 5955

1. 新建学生-课程数据库的三个表:

学生表:student(sno,sname,ssex,sage,sdept) sno为主码;

课程表:course(cno,cname,cpno,credeit) cno为主码;

学生选修表:sc(sno,cno,grade) sno,cno,为主码;

student

course:

sc:数据库生成语句:

sql**

1. create database stu_course

3. use stu_course

5. create table student(

6. sno varchar(32),

7. sname varchar(32),

8. ssex varchar(32),

9. sage int,

10. sdept varchar(32)

13. create table course(

14. cno varchar(32),

15. cname varchar(32),

16. cpno varchar(32),

17. credit int

20. create table sc(

21. sno varchar(32),

22. cno varchar(32),

23. grade int

create database stu_course

use stu_course

create table student(

sno varchar(32),sname varchar(32),ssex varchar(32),sage int,sdept varchar(32)

create table course(

cno varchar(32),cname varchar(32),cpno varchar(32),credit int

create table sc(

sno varchar(32),cno varchar(32),grade int

一:查询表中的列和行。

1:查询全体学生的学号与姓名。

select sno,sname from student

2:查询全体学生的姓名、学号、所在系。

select sno,sname,sdept from student

3:查询全体学生的详细记录。

select * from student

4:查询全体学生的姓名及出生年份。

select sname,datepart(yy, getdate())sage + 1 from student (sqlserver)

5:查询全体学生的姓名,出生年份及所在系,要用小写字母表示系名。

select sname,datepart(yy, getdate())sage + 1,lower(sdept) from student

6:查询选修了课程的学生学号。

select sno,cno from sc

7:查询选修了课程的学生姓名。

select distinct sname from student,sc where

二:条件查询:

常用的查询条件。

查询条件谓词。

比较=,<

not+上述比较运算符。

确定范围between and,not between and,确定集合in,not in

字符匹配like,not like

空值isnull,isnotnull

多重条件and,or

1:查询计算机系全体学生的姓名。

select sname from student where sdept=”cs”

2:查询所有年龄在20岁以下的学生姓名及其年龄。

select sname,sage from student where sage<20

3:查询考试成绩有不及格的学生的学号。

select sno from sc where grade<60

4:查询年龄在20到23间的学生的姓名,系别及年龄。

select sname,sdept,sage from student where sage between 20 and 23

5: 查询年龄不在20到23间的学生的姓名,系别及年龄。

select sname,sdept,sage from student where sage not between 20 and 23

6:查询信息系(is),数学系(ma)和计算机系(cs)学生的姓名和性别。

select sname,ssex from student where sdept in("is","ma","cs")

7:查询不是信息系(is),数学系(ma)和计算机系(cs)学生的姓名和性别。

select sname,ssex from student where sdept not in("is","ma","cs")

8:查询学号为”95001”的学生详细情况。

select * from student where sno=95001

9:查询所有姓刘的学生的姓名,学号和性别(where name like ‘刘%’)

select sname,sno,ssex from student where sname like '刘%'

10:查询姓”欧阳”且命名为三个汉字的学生的姓名。

select sname from student where sname like '欧阳_'

11:查询名字中第2个字为”阳”字的学生姓名和学号(where sname like '_阳%')

select sname,sno from student where sname like '_阳%'

12:查询所有不姓刘的学生姓名。

select sname from student where sname not like '刘%'

13:查询db_design课程的课程号和学分(where cname like 'db\_design' escape'\'

select cno,gredit from course where cname like 'db\_design' escape '\

14:查询以”db_”开头,且倒数第3个字符为i的课程的详细情况(where cname like ‘db\_%i__’escape’\’

db\_%i__’escape’\’

select cno,gredit from course where cname like ‘db\_%i__’escape’\’

15:查询缺少成绩的学生的学号和相应的课程号(where grade is not null)

select sno,cno from sc where grade is null

16:查询有成绩的学生学号和课程号。

select sno,cno from sc where grade is not null

17:查询计算机系年龄在20岁以下的学生姓名。

select sname from student where sdept=”cs” and sage<20

18:查询选修了3号课程的学生的学号及其成绩,分数降序排列。

select from student,sc

where and order by grade desc

19:查询全体学生情况,结果按所在系的号升序排列,同一系中的学生按年龄降序。

select * from student order by sdept,sage desc

三:使用集函数。

count,sum,**g,max,min

1:查询学生的总人数。

select count(sno) from student

2:查询选修了课程的学生人数(select count(distinct sno))

select count(distinct sno) from sc

3:计算1号课程的学生平均成绩。

select **g(grade) from sc where cno='1'

4:查询选修1号课程的学生最高分数。

select max(grade) from sc where cno='1'

5:求各个课程号及相应的选课人数。

select cno,count (sno) from sc group by cno

6:查询选修了3门以上的课程的学生学号。

select sno

from sc

group by sno

h**ing count(*)3

四:连接查询:

1>等值与非等值的连接查询。

在连接查询中用来连接两个有的条件称为连接条件或连接谓词,当连接运算符号为”=”时,称为等值连接,使用如,=,连接时称非等值连接。

1:查询每个学生及其选修课程的情况。

select student.*,sc.*

from student,sc

where

2>自身连接。

连接操作在同一个表中进行连接查询。

2:查询每一门课的间接先修课(即先修课的先修课)

select first .cno,from course first ,course second

where

五:复合条件连接。

1:查询选修2号课程且成绩在90分以上的所有学生。

select student,sname

form student, sc

where and

and >90

SQL数据库作业

1 分别用ssms方式和t sql方式,在 教学成绩管理数据库 中创建 教师信息表 其表结构如下 use 教育成绩管理数据库。go create table 教师信息表。编号 char 6 not null,登录名 char 10 not null,姓名 nchar 4 not null,密码 ch...

SQL数据库作业

svse程序员上机考试。注意 考试结束试卷必须交回,否则按零分处理。一 语言和环境。a 实现语言 c b 环境要求 vs2005或更高版本 sql server2005二 数据库设计。数据库名称 empdb 数据库表信息 三 要求。利用c 和数据库编程,编写员工信息管理系统。要求实现员工信息的添加 ...

SQL数据库习题答案

1 模型中,同一个关系中的不同属性,其属性名 b a.可以相同 b.不能相同 c.可以相同,但数据类型不同 d.必须相同。2 数据库系统由数据库 a 组成。a dbms 应用程序 支持数据库运行的软硬件环境和dba 3 计算机数据管理技术的发展可以划分为三个阶段,在某个阶段数据是以文件形式长期存储在...