zoukankan      html  css  js  c++  java
  • SQL语句(3)--- 多表连接/子查询/合并查询

    1. NATURAL JOIN:自然连接------两张连接表中要有同样的列名,列里面的值要一致,列的数据类型要一致
    2. USING :使用连接表里的一个相同的字段来连接
    3. natural join 和using 不能同时出现在一个select语句中
    4. ON:将不同列名称的列放到一起,但类型要一致。ON子句中的where---连接之后再过滤 ON子句中的and------过滤之后再连接
    5. SELF JOIN:自连接
    6. 非等值连接:就是之前的between and ,将需要比较的字段放到一个范围之中
    7. 左外/右外/全连接
      1. 左外连接 LEFT OUTER JOIN:以左边的表为基准,与右边的表进行比较,对比不上则设为空
      2. 右外连接 RIGHT OUTER JOIN:以右边的表为基准,与左边的表进行比较,对比不上则设为空
    8. 子查询
      1. 非关联子查询:子查询语句可以单独拿出来执行
        1. all:大于最大,小于最小
        2. any:大于最小,小于最大
      2. 关联子查询:子查询语句不可以单组拿出来执行
        1. 例句: update testemp t set t.sal=(select e.sal from emp e where t.empno=e.empno)
        2. EXISTS 不关注子查询select后面选择的字段,只关注子查询中的where条件语句是否满足,适用于子查询数据比较大的查询
        3. IN 对子查询select后面选择的字段是敏感的,如下SQL语句,使用与主查询数据比较大的查询
     1 SQL> select ename,deptno from test where deptno in (select deptno from test where ename='SCOTT');
     2  
     3 ENAME DEPTNO
     4 -------------------- ----------
     5 SMITH 20
     6 JONES 20
     7 SCOTT 20
     8 ADAMS 20
     9 FORD 20
    10  
    11 SQL> select ename,deptno from test where deptno in (select empno from test where ename='SCOTT');
    12  
    13 no rows selected
    14  
    15 SQL>
    1. 合并查询
      1. UNION:A并B,查看所有内容(剔除重复行)默认排序
      2. UNION ALL:查看所有内容(包括重复行)不排序
      3. INTERSECT:查看A与B相交的部分内容 默认排序
      4. MINUS:差集 ---- 调换A与B的位置,最终的结果是不一样的 默认排序
      5. 注意事项:
        1. 合并查询时,字段的数量必须一样,如果不同,要不全,数据类型要一致且顺序对应(大类型相同即可),优先级是自然顺序
        2. order by 语句只会依据第一个select 语句中的字段排序
        3. order by 语句只能出现一次且只能出现在最后
        4. order by 排序字段如有别名时就不能使用实际名
  • 相关阅读:
    lr文件下载脚本(文件参数化重命名)
    Loadrunner之文件的下载(八)
    Loadrunner之脚本的思考时间(固定/随机)设置、调试、保存、测试服务器监控等(六)
    Loadrunner VuGen实战---事务、检查点、集合点、关联(四)
    NodeJS之Url的使用
    Http服务端
    NodeJs之文件合并(某一文件的内容发生变化与之相关的内容重新合并)
    NodeJs之项目构建(对文件及文件夹的操作)
    NodeJs初步
    Java 8中你可能没听过的10个新特性
  • 原文地址:https://www.cnblogs.com/eniniemand/p/14015116.html
Copyright © 2011-2022 走看看