……继上一篇MySQL的开发总结之后,适当的练习还是很有必要的……

  SQL语法多变,不敢保证唯一,也不敢保证全对,如果错误欢迎指出,即刻修改。

一、现有表结构如下图

TABLENAME:afinfo

Id

name

age

birth

sex

memo

1

徐洪国

37

1979-03-23

高中

2

王芳

26

1988-02-06

本科

3

李达康

24

1990-04-02

硕士

4

侯亮平

30

1984-09-12

博士

5

徐夫子

27

1987-12-30

大专

6

……

……

……

……

……

1)请编写sql语句对年龄进行升序排列

2)请编写sql语句查询对“徐”姓开头的人员名单

3)请编写sql语句修改“李达康”的年龄为“45”

4)请编写sql删除王芳这表数据记录。

 

 

二、现有以下学生表和考试信息表

学生信息表(student)

姓名name

学号code

张三

001

李四

002

马五

003

甲六

004

考试信息表(exam)

学号code

学科subject

成绩score

001

数学

80

002

数学

75

001

语文

90

002

语文

80

001

英语

90

002

英语

85

003

英语

80

004

英语

70

1)查询出所有学生信息,SQL怎么编写?

2)新学生小明,学号为005,需要将信息写入学生信息表,SQL语句怎么编写?

3)李四语文成绩被登记错误,成绩实际为85分,更新到考试信息表中,SQL语句怎么编写?

4)查询出各科成绩的平均成绩,显示字段为:学科、平均分,SQL怎么编写?

5)查询出所有学生各科成绩,显示字段为:姓名、学号、学科、成绩,并以学号与学科排序,没有成绩的学生也需要列出,SQL怎么编写?

6)查询出单科成绩最高的,显示字段为:姓名、学号、学科、成绩,SQL怎么编写?

7)列出每位学生的各科成绩,要求输出格式:姓名、学号、语文成绩、数学成绩、英语成绩,SQL怎么编写?

 

 

三、根据要求写出SQL语句

表结构:

  student(s_no,s_name,s_age,sex) 学生表

  teacher(t_no,t_name) 教师表

  course(c_no,c_name,t_no) 课程表

  sc(s_no,c_no,score) 成绩表

基础表数据(个人铺的):根据题目需要自行再铺入数据

1、查询“001”课程比“002”课程成绩高的所有学生的学号。

2、查询平均成绩大于60分的同学的学号和平均成绩。

3、查询所有同学的学号、姓名、选课数、总成绩。

4、查询姓李的老师的个数。

5、查询没学过“叶平”老师课的同学的学号、姓名

6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名。

7、查询学过“叶平”老师所教的所有课的同学的学号、姓名。

8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名。

9、查询所有课程成绩小于60分的同学的学号、姓名。

10、查询没有学全所有课的同学的学号、姓名。

11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名。

12、查询至少学过学号为“1001”同学所有一门课的其他同学学号和姓名。

13、把“sc”表中“叶平”老师叫的课的成绩都更改为此课程的平均成绩。

14、查询和“1002”号同学学习的课程完全相同的其他同学学号和姓名。

15、删除学习“叶平”老师课的sc表记录。

16、向sc表中插入一些记录,这些记录要求符合一下条件:没有上过编号“003”课程的同学学号

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注