SQL——数据查询

数据查询

数据查询分为以下几种:单表查询、连接查询、嵌套查询、集合查询

语法格式:

select [all | distinct] <目标列表达式>[,<目标列表达式>]from <表名或视图名>[, <表名或视图名> ][where <条件表达式> ]
[ group by <列名1> [ having <条件表达式> ] ]
[ order by <列名2> [ asc|desc ] ];

单表查询

单表查询:仅涉及一个表,是一种最简单的查询操作。

select sno, count(cno) 
from sc
where grade<60
group by sno
having count(cno)>3
order by count(cno) desc; 

功能分析:
这条 SQL 查询的主要功能是找出所有不及格课程数超过3门的学生,列出他们的学生编号及其相应的不及格课程总数,并按这些不及格课程的数量降序排列。

连接查询

连接查询:若一个查询同时涉及两个以上的表,则称之为连接查询。

select sname, cno, grade
from sc, s
where s.sno=sc.sno and grade>90;

功能分析:
这段代码的功能是从学生选课信息表中选择出成绩大于90分的学生的姓名、所获课程编号以及对应的成绩。

嵌套查询

嵌套查询:将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询。

select sname		
from s
where  sno  in
            (select sno                     
             from sc
             where cno=002);

集合查询

集合查询:对多个SELECT语句的结果进行集合操作,并操作UNION,交操作INTERSECT和差操作MINUS

select sno
from sc
where cno='001'
intersect
select sno
from sc
where cno='003';

功能分析:
这段代码的功能是找出既选修了课程 ‘001’ 又选修了课程 ‘003’ 的学生编号。

暂时还没有更新完,后续会进行更新

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值