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 中无实用意义。

  • 相关阅读:
    Nginx 提示500 ,设置提示具体错误
    部署laravel 到linux环境
    php & vue 跨域问题解决方案
    一个php学习vue技术(篇章1)
    中年危机
    elasticsearch 创建索引、unassigned、elasticsearch 创建索引后出现unassigned、
    laravel jwt 报错 Argument 3 passed to LcobucciJWTSignerHmac::doVerify() must be an instance of LcobucciJWTSignerKey, null given
    laravel jwttoken jwt attempt laravel auth->attempt() 返回false
    composer 报错 Carbon 1 is deprecated, see how to migrate to Carbon 2
    php 服务端主动向客户端推送消息, php swoole websocket, 服务端向客户端推送消息, websocket主动推送消息
  • 原文地址:https://www.cnblogs.com/-lwl/p/10927153.html
Copyright © 2011-2022 走看看