数据的增删改查:单表查询,多表查询,集合查询和子查询

单表查询

就是最普通的查询。

多表查询

自然连接

-- 显示员工的工作部门和地点
select e.empno, e.ename, e.job, e.sal, d.dname, d.loc
from emp e, dept d
where  e.deptno = d.deptno;
-- 显示出每个员工的工资等级
select empno, ename, job, sal, grade
from emp, salgrade
where sal between losal and hisal;

左外连接

-- 左外连接,Orcale特有
select e.empno, e.ename, e.job, d.dname, d.loc
from emp e join dept d on e.deptno = d.deptno(+);
-- 左外连接,通用,右外连接同理
select e.empno, e.ename, e.job, d.dname, d.loc
from emp e left join dept d on e.deptno = d.deptno;

集合查询

集合查询就是将两个查询的查询结果进行交,并,差等操作。

  • UNION(并集):将两个查询结果不同的部分显示出来,相同的部分只显示一次。

  • UNION ALL(大并集):将两个查询结果全都显示出来,相同的部分会显示两次。不常用。

  • INTERSECT(交集):只显示两个查询结果的相同的部分。

  • MINUS(差集):只显示前一个查询结果中不同于后一个查询结果中的部分。与顺序有关。

子查询

子查询有SELECT子查询(可以返回一个数据),FROM子查询(返回的是一张表),WHERE子查询(可以返回一个,一列或一行数据),HAVING子查询(返回一个数据)。

  • SELECT子查询:1 + N查询,浪费时间,不常用。

  • FROM子查询:返回的是一张匿名表,可以起别名,与普通表使用相同。

  • WHERE子查询:使用得最多。>,<,>=,<=,=,!=都返回的是一个值。如果使用 > ANY,< ANY,> ALL,< ALL 返回的就是一列值。

  • HAVING子查询:与WHERE子查询基本相同,就是多了统计查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值