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消除笛卡尔积

     

  • 相关阅读:
    echart所有汉字都显示中文,就echarts的toolbox注释显示乱码
    【转】 JSONObject使用方法
    JSON: property "xxx" has no getter method in class "..."
    【转】Oracle数据库中Sequence的用法
    Android实例-获取程序版本号(XE10+小米2)
    Android实例-调用系统APP(XE10+小米2)
    BAT-使用BAT方法清理系统垃圾
    Android实例-全屏显示程序(XE10+小米2)(无图)
    问题-Delphi2007编译时提示内存错误“sxs.dll. No Debug Info.ACCESS 0xXXXXX"
    DelphiXE7中创建WebService(服务端+客户端)
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4214449.html
Copyright © 2011-2022 走看看