成语大全网 - 成语解释 - 数据库查询全体学生的学号和姓名

数据库查询全体学生的学号和姓名

单表查询一、基本查询(无条件查询)

1、查询全体学生的学号、姓名和年龄

select 学号(SNo),姓名(SN),年龄(Age)

from 表名(S);

1

2

2、查询学生的全部信息

select *

from 表名;

1

2

3

" * " 代表显示全部信息

上面的查询均为不使用where子句的无条件查询,也称为投影查询

二、条件查询

当要在表中找出满足某些条件的行时,则需使用where子句指定查询条件

where

1、查询选修课程号为‘C1’的学号和成绩

select 学号,成绩

from 表名

where 课程号='C1'

1

2

3

4

2、查询成绩高于85分的学生的学号、课程号和成绩

select 学号,课程号,成绩

from 表名

where 成绩>85

1

2

3

4

3、查询选修C1或C2且分数大于等于85分学生的学号、课程和成绩

select 学号,课程,成绩

from 表名

where(课程号='C1'or课程号='C2')and(成绩>=85)

1

2

3

4

in

4、查询没有选修C1,也没有选修C2的学生的学号、课程号和成绩

select 学号,课程号,成绩

from 表名

where 课程号 not in('C1','C2')

1

2

3

like

5、查询所有姓张的教师的教师号和姓名

select 教师号,姓名

from 表名

where 姓名 like '张%'

1

2

3

4

order by

排序,往往在语句的最后,desc为降序,asc为升序

group by & having & count

having往往和group by配合使用,对group by结果进行过滤

6、查询选修两门以上(含两门)课程的学生的学号和选课门数

select 学号,count(*)

from 表名

group by 学号

having (count(*)>=2)

1

2

3

4

5

7、求选课在三门以上(含三门)且各门课程均及格的学生及其总成绩,查询结果按总成绩降序排列

select 学号,sum(成绩)

from 表名

where(成绩>=60)

group by 学号

having (count(*)>=3)

order by sum(成绩) desc

1

2

3

4

5

6

7

程序执行过程:

from 表名,取出整个表

where 筛选出成绩>=60的

group by 将选出的,按学号分组

having 筛选出选课三门以上的分组

select 在剩下的组中提取学号和总成绩

order by 将选取结果排列