首页 > 经验记录 > 数据库 > SQL:1999语法

SQL:1999语法

多表查询的外连接用“(+)”标记,这玩意只有Oracle才有,其他的数据库比如MySQL、SqlServer,所使用的就是是这个SQL1999语法,当然Oracle也支持。

他这个语法定义的多表查询结构如下:

SQL1999语法

SELECT [DISTINCT] * |列 [别名]

FROM 表名称1

[CROSS JOIN 表名称2]

[NATURAL JOIN 表名称2]

[JOIN 表名称 NO(条件) | USING(字段)]

[LEFT | RIGHT | FULL OUTER JOIN 表名称2];

……emmm还是挺复杂的

实际上以上的语法也是由多个部分组成

  • 交叉连接:CROSS JOIN, 主要的功能是产生笛卡尔积,简单的实现多表查询
  • 自然连接:NATURAL JOIN,自动使用关联字段消除笛卡尔积(一般关联字段是外键,但是次处它是以名字相同为主),属于内连接的概念,在返回查询结果的时候,默认情况下会将关联字段设置在第一列,重复的列内容不再显示
  • USING子句:如果说现在要在一张表里面有多个关联字段存在,可以使用USING子句明确的设置一个关联字段
  • ON子句:如果现在没有关联字段,可以使用ON子句设置条件
  • 外链接,在SQL:1999语法标准里面明确的定义了数据表的左外连接、右外连接、全外连接的操作
    1. 左外链接:LEFT OUTER JOIN
    2. 右外连接:RIGHT OUTER JOIN
    3. 全外连接:FULL OUTER JOIN

只有在SQL:1999语法里才明确的可以使用全外连接,但这样的操作几乎没啥意义


EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00