zoukankan      html  css  js  c++  java
  • SQL:1999基本语法

    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,....] 
    复制代码
    • 交叉连接(CROSS IN)

    语法:

    SELECT [DISTINCT] * | 列名称 [AS]别名,........
    FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]|
    [WHERE 条件(s)]
    [ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....] 

    使用交叉连接门生笛卡尔积

    SELECT * 
    FROM emp e CROSS JOIN dept d; 

    使用where消除

    SELECT * 
    FROM emp e CROSS JOIN dept d
    WHERE e.deptno=d.deptno; 
    • 自然连接(NATURAL JOIN)

    语法:

    SELECT [DISTINCT] * | 列名称 [AS]别名,........
    FROM 表名称1 [别名1]
    [NATURAL JOIN表名称2 别名2]
    [WHERE 条件(s)]
    [ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....] 

    使用自然连接

    SELECT * 
    FROM emp  NATURAL JOIN dept;
    --自然连接可以直接消除笛卡尔积
    • USING子句

    语法:

    SELECT [DISTINCT] * | 列名称 [AS]别名,........
    FROM 表名称1 [别名1] [ JOIN表名称2 别名2 USING (关联列名称)]
    [WHERE 条件(s)]
    [ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....] 

    使用USING子句

    SELECT * 
    FROM emp JOIN dept USING (deptno);
    
    --USING后字段要用()
    • ON子句

    语法:

    SELECT [DISTINCT] * | 列名称 [AS]别名,........
    FROM 表名称1 [别名1] [ JOIN表名称2 别名2 on (关联条件)]
    [WHERE 条件(s)]
    [ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....] 

     使用ON子句:

    SELECT * 
    FROM emp e JOIN dept d ON (e.deptno=d.deptno) ;
    --ON后是条件
    --()可以省略
    • 外连接

    语法:

    SELECT [DISTINCT] * | 列名称 [AS]别名,........
    FROM 表名称1 [别名1][LEFT | RIGHT | FULL OUTER JOIN 表2 ON (关联条件)]
    [WHERE 条件(s)]
    [ORDER BY 排序的字段 1,ASC| DESC,排序的字段2 ASC| DESC,....] 

    左外连接:

    SELECT * 
    FROM emp e LEFT OUTER JOIN dept d
    ON(e.deptno=d.deptno);
    --使用ON消除笛卡尔积
    SELECT * 
    FROM emp e LEFT OUTER JOIN dept d
    USING (deptno);
    --使用USING消除笛卡尔积

    右外连接:

    SELECT * 
    FROM emp e RIGHT OUTER JOIN dept d
    ON(e.deptno=d.deptno);
    --使用ON消除笛卡尔积
    SELECT * 
    FROM emp e RIGHT OUTER JOIN dept d
    USING (deptno);
    --使用USING消除笛卡尔积

    全外连接:

    SELECT *
    FROM emp e FULL OUTER JOIN dept d
    ON(e.deptno=d.deptno);
    --使用ON消除笛卡尔积
    SELECT *
    FROM emp e FULL OUTER JOIN dept d
    USING (deptno);
    --使用USING消除笛卡尔积
  • 相关阅读:
    Chrome 控制台console的用法[转]
    Page Visibility(页面可见性) API介绍、微拓展[转]
    移动端rem单位用法[转]
    JavaScript继承方式详解[转]
    说说React
    Flex 布局教程:语法篇[转]
    git 常用命令总结
    Supervisor 在ubuntu系统下添加自启动
    Django 通过APNS推送消息
    通过 python-xmp-toolkit 读取图片xmlp信息
  • 原文地址:https://www.cnblogs.com/Soprano/p/10659012.html
Copyright © 2011-2022 走看看