数据库单表查询

参考链接:http://wenku.baidu.com/view/3b0750280066f5335a8121e3.html

1、基本查询

(1)查询学生表中全体学生的全部信息

数据库单表查询 - lucia_gaga - lucia_gaga的博客
 (2)检索全体学生的学号、姓名
数据库单表查询 - lucia_gaga - lucia_gaga的博客
2、查询时改变列标题的显示
检索全体学生的学号、姓名、家庭地址信息,并分别加上“学生”、“学号”、“家庭地址”的别名信息
数据库单表查询 - lucia_gaga - lucia_gaga的博客
3、条件查询
(1)查询成绩大于80分的学生的学号及课程号、成绩
数据库单表查询 - lucia_gaga - lucia_gaga的博客 
(2)查询成绩介于75~80分的学生的学号及课程号、成绩
数据库单表查询 - lucia_gaga - lucia_gaga的博客 
(3)查询选修了课程号为“002”,且成绩大于80的学生的学号
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(4)某些学生选修某门课程后没有参加考试,所以有选课记录,但没有考试成绩,下面我们来查一下缺少成绩的学生的学号和相应的课程号
数据库单表查询 - lucia_gaga - lucia_gaga的博客
4、基于IN子句的数据查询
从课程表中查询出“高数”、“C语言程序设计”的所有信息 
数据库单表查询 - lucia_gaga - lucia_gaga的博客 
5、基于BETWEEN……AND子句的数据查询
查询所有成绩在70-80之间的学生选课信息
数据库单表查询 - lucia_gaga - lucia_gaga的博客
6、基于Like子句的查询
(1)从学生表中检索出姓张的所有同学的资料
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(2)检索名字的第二个字是“红”或“虹”的所有同学的资料 
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(3)查询课程名为Visual_Basic的课程的学分。(提示:使用ESCAPE短语)
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(4)列出所有不姓刘的学生
select *
from  student
where sname not like'刘%'
(5)按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为“条件不明”
select sno,sage,sname,sdept,ssex=
case ssex when '女' then '女生'
                    when '男' then '男生'
                    else '条件不明'
end
from  student
7、使用top关键字查询
(1)从选课表中检索出前3个课程信息
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(2)从选课表中检索出前面20%的课程信息
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(3)查询学生表中的前2位同学信息
SELECT   top 2 *
FROM  S 
8、消除重复行
检索出学生已选课程的课程号,要求显示的课程号不重复
数据库单表查询 - lucia_gaga - lucia_gaga的博客 
9、查询经过计算的值
(1)查询全体学生的姓名及其年龄(提示:利用系统函数getdate())
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(2)查询选修课程号为‘C1’的学生学号和成绩,成绩按150分制输出(每个成绩乘以系数1.5)
select sno,grade*1.5 成绩
from sc
where cno='c1' and grade is not null
10、使用ORDER BY语句对查询的结果进行排序
(1)显示所有学生的基本信息,按班号排列,班号相同则再按学号排列
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(2)查询全体学生的姓名及其年龄,并按学生的年龄的降序排列
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(3)查询选修课程'c1'的学生学号和成绩,结果按成绩的升序排序,如果成绩相同则按学号的降序排列
select sno,grade 
from sc  
where cno='c1'
order by grade ASC,sno DESC
11、使用聚合函数
(1)查询学生总人数
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(2)计算“002”号课程的学生平均成绩、最高分、最低分
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(3)列出年龄超过平均值的所有学生名单,按年龄的降序显示
select sno
from student
where sage>(select avg(sage) from student )
order by sage ASC
(4)显示所有学生院系(不能重复,不含空值),并在结果集中增加一个字段“院系规模”:若该院规模≥5则该字段值为“规模很大”,若该字段人数≥4<5则该字段值为“规模一般”,若该字段人数≥2<4则该字段值为“规模稍小”,否则显示规模很小
select distinct sdept,
case  when count(*)>5 then '规模很大'
           when count(*)>=4 and count(*)<5 then '规模一般'
           when count(*)>=2 and count(*)<4 then '规模稍小'
          else '条件不明'
          end as 院系规模
from  student
where sdept is not null
group by sdept
(5)显示选修课程数大于3的学生的选修课程数(聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用)
select distinct sno,count(*) 课程数
from sc
group by sno
having count(*)>3
(6)查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列
SELECT Sno,Grade
FROM  SC
WHERE  Cno= ' c03 '
ORDER BY Grade DESC
12、使用Group子句进行查询
(1)查询各班级学生总人数
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(2)汇总总分大于150分的学生的学号及总成绩
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(3)查询各个课程号相应的选课人数
数据库单表查询 - lucia_gaga - lucia_gaga的博客
13、使用Compute和compute by子句进行查询
(1)汇总每个学生的学号及总成绩
数据库单表查询 - lucia_gaga - lucia_gaga的博客
(2)按学号汇总出每个学生的学号及总成绩、最高分、最低分,及所有学生总成绩
数据库单表查询 - lucia_gaga - lucia_gaga的博客
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值