zoukankan      html  css  js  c++  java
  • 连接查询,子查询,联合查询

    一,连接查询

    1

    .交叉连接查询

    这种查询方式基本不会使用,原因就是这种查询方式得到的是两个表的乘积(笛卡儿集)

    语法就是select * from a,b;

    2.

    内连接查询,可以有效的去除笛卡尔集现象

    内连接查询分为两类:

    隐式内连接 select * from A,B where 条件隐式连接使用别名:select * from A 别名1,B 别名2 where 别名1.xx=别名2.xx;显示内连接 select * from A inner join B on 条件 (inner可以省略)显示连接使用别名: select * from A 别名1 inner join B 别名2 on 别名1.xx=别名2.xx

    3.

    外连接

    外连接有两种方式,一种是左外连接,一种是右外连接

    左外连接:select * from A left outer join B on条件右外连接:select * from A right out join B on 条件左外连接就是左边的表的内容全部显示,然后匹配右边的表,如果右边的表匹配不到,则空右外连接就是右边的表的内容全部显示,然后匹配左边的表,如果左边的表匹配不到,则空

    总结:

    内连接就是两个表的交集

    左外连接就是左边表加两表交集

    右外连接就是右边表加两表交集

    二,子查询

    定义:

      子查询允许把一个查询嵌套在另一个查询当中。

      子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询内部查询,包含内部查询的就称为外部查询。内部查询,包含内部查询的就称为外部查询。

      子查询可以包含普通select可以包括的任何子句,比如:distinct、 group by、order by、limit、join和union等;但是对应的外部查询必须是以下语句之一:select、insert、update、delete、set或 者do。

    使用IN进行子查询

    in的基本语法形式为:

    where  操作数  in (1,值2....

    in子查询就是:

    where  操作数  in ( 列子查询 );

      使用in进行子查询,这个我们在日常写sql的时候是经常遇到的。in的意思就是指定的一个值是否在这个集合中,如何在就返回TRUE;否则就返回FALSE了。

      in是“=any”的别名,在使用“=any”的地方,我们都可以使用“in”来进行替换。

      有了in,肯定就有了not in;not in并不是和<>any是同样的意思,not in和<>all是一个意思。

    三,联合查询

    联合查询就是将两个select语句的查询结果“层叠”到一起成为一个“大结果”。

    两个查询结果的能够进行“联合”的先觉条件是:结果字段数相等。

    关键字:union

      子查询的位置:
        select 中、from 后、where 中.group by 和order by 中无实用意义。

  • 相关阅读:
    移动应用调试之Inspect远程调试
    使用Stickers拓展集成iMessage简单功能
    iOS 在工程内部创建一个静态库target
    Xcode10 library not found for -lstdc++ 找不到问题
    git 操作规范
    java里面jre版本过低怎么修改
    java实现滑动列表找到目标并且选择
    java实现获取toast弱提示
    查询语句集合
    java-clienk 实现获取手机应用设备信息
  • 原文地址:https://www.cnblogs.com/-lwl/p/10927153.html
Copyright © 2011-2022 走看看