zoukankan      html  css  js  c++  java
  • mysql:左连接、内连接、in()语句以及对比

    左连接:

    格式: 
    select 列1,列2,列N from 
    tableA left join tableB 
    on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一张普通表看] 
    where,having,group by …照常写。

    理解: 
    左连接:即以左表为基准,到右表找匹配的数据,找不到匹配的用NULL补齐。

    右连接和左连接类似,不再赘述,更加推荐左连接。

    内连接:

    select 列1,列2,列N from 
    tableA inner join tableB 
    on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一张普通表看] 
    where,having,group by …照常写。

    理解:

    内连接:查询左右表都有的数据,不要左/右中NULL的那一部分 
    内连接是左右连接的交集。

    in语句:

    1、in 后面是记录集,如:

    select * from table where uname in(select uname from user);

    2、in 后面是字符串,如:

    select * from table where uname in(‘aaa’,bbb’,’ccc’,’ddd’,’eee’,ffff”);

    注意:这里一定要将字符串用单引号” 标注起来;

    我们在查询的时候,一般来讲是左连接的效率比较高,推荐使用左连接
    而不是in语句。
    
    但是也是会有特殊的情况。需要放到实际业务场景来看待。
  • 相关阅读:
    关于json解析和所需jar
    Solr初步使用
    Appium-desktop使用时的一些配置
    mac电脑安装和配置tomcat步骤
    maven-reportng插件依赖添加
    maven-surefire插件配置
    mac电脑的一些操作
    元素的多种延时等待(&页面的超时处理)
    Mac系统搭建java+selenium+testng环境
    爬虫简介与request模块
  • 原文地址:https://www.cnblogs.com/andyFok/p/9815465.html
Copyright © 2011-2022 走看看