SQL1999语法
来源:互联网 发布:go高级编程书籍 编辑:程序博客网 时间:2024/05/19 16:33
在此使用的“(+)”只适用于Oracle数据库;
交叉连接的作用
交叉连接作用于两个关系上,并且第一个关系的每个元组与第二关系的所有元组进行连接,就是位了产生笛卡尔积
语法:
SELECT[DISTINCT]*| 列名称
FROM表1名称 [CROSS JOIN 表2名称]
[WHERE条件(s)]
[ORDERBY 排序的字段 ASC|DESC, 排序的字段2 ASC|DESC]
Eg:SELECT *
FROM emp CROSS JOIN dept;
自然连接的作用
一般来说,在进行多表连接的时候一定会存在关联字段消除笛卡尔积,而关联字段的名称一般会一样,如果不一样也会有部分的相同;一样的情况,就可以用自然连接消除这个笛卡尔积;
自然连接(NATURALJOIN)运算作用于两个关系,最终会通过两个关系产生出一种关系作为结果。自然连接只考虑哪些在两个关系模式中都出现的属性上取得相同的元组对;
语法:
SELECT[DESTINCT]*|列名称
FROM表1 [NATRURAL JOIN 表2]
[WHERE 条件]
[ORDERBY 排序的字段1 ASC|DESC]
EG: SELECT *
FROM emp NATRURAL JOIN dept;
理解USING子句的使用
通过自然连接可以直接使用关联字段消除笛卡尔积,那么现在的两张表中没有存在这种关联字段的话,就可以通过USING子句完成笛卡尔积的消除;
语法:
SELECT[DISTINGCT] *| 列名称
FROM表1 [JOIN 表2 USING(关联列名称)]
同上;
Eg:SELECT *
FROM emp JOIN dept USING(deptno);
理解ON子句的使用
在之前编写等值连接时,采用关联字段进行笛卡尔积的消除,那么用户在SQL:1999语法之中通过ON子句可以由用户手工设置一个关联条件;
语法:
SELECT*|列名称
FROM 表1 [JOIN 表2 ON (关联条件)]
同上;
Eg:SELECT*
FROM emp e JOIN salgrade s ON (e.sal between s.losal ands.hisal);
理解外链接的使用
在数据查询中外连接一共分为三种:左外连接,右外连接,全外连接;
语法:
SELECT*|列名称
FROM表1 [LEFT|RIGHT|FULL OUTER JOIN 表2 ON(关联条件)]
同上;
注:对于左或右外连接可以使用(+),但是全外连接无法使用,全外连接只能使用SQL:1999Y语法;
Eg:SELECT *
FROM emp e RIGHT OUTER join dept d ON (e.deptno = d.deptno);
Eg:SELECT *
FROM emp e FULL OUTER join dept d ON (e.deptno = d.deptno);
- SQL1999语法
- SQL1999连接语法
- SQL1999语法+数据集合操作
- oracle学习之sql1999语法
- 多表查询-左右连接-SQL1999:语法-分组查询
- oracle 基本语句练习(四) SQL1999 语法规范 cross join ,等值连接,不等值连接,自连接与外连接
- Oracle 11g 学习四:多表查询、左右连接、SQL1999语法、统计函数及分组查询
- 表连接-sql1999标准
- SQL1999标准:学习
- 语法
- 语法
- 语法
- 语法
- 语法
- 语法
- 语法
- 语法
- 语法
- 面向对象6---抽象
- [并行计算] 1. 并行计算简介
- 类型转化
- Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别
- GitBash的安装和使用
- SQL1999语法
- canvas的width和style里面的width
- Session
- maven项目中hibernate创建步骤
- php编程初识
- BZOJ2821: 作诗(Poetize)(分块)
- .Java多分支;if……else…… 每吨货物每公里运费P与运输距离S有关,路途越远,每公里运价越低。两种解决方案
- QT help button 和 setWhatsThis
- 图解集合8:红黑树的移除节点操作