多表查询

多表查询(以下表格都是使用scott用户下的表格)全部的知识点:
* 1.多表查询的意义以及基本问题;
* 2.表的连接查询;
* 3.SQL:1999语法的标准对多表查询的支持
* 4.数据的集合操作;

⒈认识多表查询实际上就是从多张表格提取数据并且显示的的一种操作③确定要显示的数据列:select 【distinct】|列【别名】①确定数据的来源(行与列的集合成为表 ):from 表名称,表名称②针对筛选的数据进行筛选 :where 限定条件④对选定的数据进行排序:order by 排序字段 asc | desc只要是多表查询:这多张表之间一定有关联关系,没有关联关系是不可能进行多表查询的。
例句一:select e.
,d.deptnofrom emp e, dept dwhere e.deptno=d.deptno;
范例二select e.ename,e.job,e.empno,e.sal,s.gradefrom emp e,salgrade swhere e.sal between s.losal and s.hisal;
范例三select e.ename,e.job,e.empno,e.sal,s.grade,d.dnamefrom emp e,salgrade s,dept dwhere (e.sal between s.losal and s.hisal) and e.deptno=d.deptno ;表的连接表的连接分 1、内连接
2、外连接 有分3中
1.左外连接 语法:关键字段1=关键字段2(+)
2.右外连接 语法关键字段1(+)=关键字段2
3.全外连接
内外连接的两者的区别: 内连接指的就是所以满足条件的数据显示,不满速的就不显示。外连指定 一张数据表中的全部数据都显示,但是没有对应其他表数据,内容未null。
SQL:1999定义语句
语法:
SELECT [DISTINCT] * | 列名称 [AS]别名,…FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]|[NATURAL JOIN表名称2 别名2][ JOIN表名称2 别名2 USING (关联列名称)][ JOIN表名称2 别名2 on (关联条件)][LEFT | RIGHT | FULL OUTER JOIN 表2 ON (关联条件)][WHERE 条件(s)][ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,…]
1. 交叉连接
2. 自然连接
3. 外连接

外连接的基本语法:
SELECT *FROM emp e LEFT OUTER JOIN dept dON(e.deptno=d.deptno);–使用ON消除笛卡尔积
SELECT *FROM emp e LEFT OUTER JOIN dept dUSING (deptno);–使用USING消除笛卡尔积右外连接:
SELECT *FROM emp e RIGHT OUTER JOIN dept dON(e.deptno=d.deptno);–使用ON消除笛卡尔积
SELECT *FROM emp e RIGHT OUTER JOIN dept dUSING (deptno);–使用USING消除笛卡尔积
数据集合操作数据集合:
交集,并集,差集,补集;每次查询下都会返回数据集合,所以返回的结果可以用使用union、union all、minus、 intersect,实现集合操作
语法如下
select * from emp
union | union all | minus | intersect
select * from emp where deptno=10;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值