数据库查询全体学生的学号和姓名
1个回答
展开全部
单表查询一、基本查询(无条件查询)
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 将选取结果排列
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 将选取结果排列
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应
|
问题解决率99%
|
24小时在线
立即免费咨询律师
13228人正在获得一对一解答
杭州雪花飘飘5分钟前提交了问题
成都星星点灯5分钟前提交了问题
长沙森林舞者2分钟前提交了问题