left join  #左连接又叫外连接 left join 返回左表中所有记录和右表中连接字段相等的记录 

  • test_user表

  • phpcvs表

SQL:  select * from test_user left join phpcvs on test_user.id=phpcvs.id

执行结果如下图:


right join  #右连接又叫外连接 right join返回右表中所有记录和左表中连接字段相等的记录 

SQL:  select * from test_user right join phpcvs on test_user.id=phpcvs.id

执行结果如下图:

  (这里执行结果只有一条数据是因为right join的时候phpcvs表里只有一条数据。)


inner join  #等值连接又叫内链接 inner join 只返回两个表中连接字段相等的行 

SQL:  select * from test_user inner join phpcvs on test_user.id=phpcvs.id

执行结果如下图:

(* 这里返回两个表中字段相等的值,所以只会有一条数据)


子查询 和 JOIN

  •   子查询  

      SQL:  select * from test_user where id not in (select id from phpcvs)

      

  •   JOIN

      SQL:  select test_user.* from test_user left join phpcvs on test_user.id=phpcvs.id where phpcvs.id is null

      

* 子查询 和 JOIN 在数据量少的情况下感觉两种情况的执行时间都差不多。有时候子查询还会比用JOIN要快。

* 连接(JOIN).. 更有效率一些,是因为 MySQL不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作。

转载于:https://www.cnblogs.com/xy404/p/3709330.html

Mysql基本用法-left join、right join、 inner join、子查询和join-02相关推荐

  1. Mysql join效率_mysql 子查询与join性能对比

    有如下的数据表: application_daily 11万条数据 application_info400多条数据 查询结果数据为19498 来看下mysql 子查询的例子. 例1,子查询 (0.01 ...

  2. mysql group by 无效_Mysql5.7版本group by 子查询中order by 无效的问题解决办法

    我们都知道group by 会选择保留第一条数据,默认是按照id排序的,如果我们想通过别的字段排序,比如最后创建的那条记录,可以先按照创建时间降序,再group by即可得到每个分组的最新创建的数据. ...

  3. inner join去除重复_SQL多表查询:join表联结

    在之前的学习和练习中,所有的操作都是在一张表中进行操作,实际工作中,我们期望得到的数据往往分散在不同的表中,今天我将带大家一起学会从多张表中获取数据. 一.表的加法 表的加法在SQL语句中用union ...

  4. mysql semi join_MySQL 通过semi join 优化子查询

    半连接是MySQL 5.6.5引入的,多在子查询exists中使用,对外部row source的每个键值,查找到内部row source匹配的第一个键值后就返回,如果找到就不用再查找内部row sou ...

  5. sql查询--比较left join、join和子查询的性能

    比较情况1:left join和join的比较 假设情景:存在A,B,C三个表 1.当sql查询的业务需求是:查询A,B,C三个表部分数据的结果集 在这种情况下,往往需要设置一个主表,比如设置表A为主 ...

  6. join和子查询效率_SparkSQL连接查询中的谓词下推处理(上)

    SparkSQL是架构在 Spark 计算框架之上的分布式 Sql 引擎,使用 DataFrame 和 DataSet 承载结构化和半结构化数据来实现数据复杂查询处理,提供的 DSL可以直接使用 sc ...

  7. LEFT JOIN直接关联表和LEFT JOIN关联子查询的区别

    今天分享一个工作经验,有2张表,考勤组表 和 考勤组-用户表,我想要查询所有考勤组的人员信息. 考勤组表现有数据,字段如下 考勤组-用户表现有数据,字段如下: 自然的,我用LEFT JOIN来关联两张 ...

  8. MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询

    本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...

  9. MySQL数据库性能优化由浅入深(表设计、慢查询、SQL索引优化、Explain分析、Show Profile分析、配置优化)

    文章目录 0 SQL性能分析 1 表的设计合理化 1.1 为什么需要范式 1.2 三范式原理 1.3 什么样的表才满足三范式 2 慢查询 2.1 慢查询介绍 2.2 慢查询步骤 3 添加适当索引 3. ...

最新文章

  1. nginx 稳定版 1.16.0 发布,支持动态加载 SSL 证书
  2. c++入门之运算符重载
  3. 手机zip模拟器_【教程】萌新手机krkr2模拟器运行教程
  4. 网络克隆报a:\ghosterr.txt故障解决一例
  5. 多媒体技术基础及应用
  6. 一个优秀的程序员应该如何提高工作效率?
  7. 虹软sdk 服务器运行 错误码94212 解决方案
  8. 论文阅读:Non-local Neural Networks
  9. 零基础学Python可以学会吗?
  10. 【动态规划】区间dp:P1005矩阵取数
  11. 企业级监控软件使用zabbix key监控nginx status各种状态
  12. HTML+CSS+JavaScript网页特效源代码(复制代码保存即可使用)
  13. android 图片可以滚动条,Android仿即刻首页垂直滚动图,炫酷到底!
  14. metasploit中msf批量监测
  15. 3dmax如何建模(二)
  16. 纤亿通解读—光纤通信系统工作原理
  17. 学习java哪个网课最好_学习Java的最佳方法
  18. html 鼠标放上去变色,css3 鼠标经过div背景变色
  19. 河南学业水平计算机,河南高中学业水平考试查询系统
  20. Rasa_nlu_chi:入门教程

热门文章

  1. 《JavaScript设计模式与开发实践》原则篇(3)—— 开放-封闭原则
  2. centos7 + VMware Workstation Pro
  3. spring--(19)切面优先级
  4. 3.15曝光“山寨”杀毒软件“杀毒三宗罪”
  5. 人工玻璃体-技术指标汇总(持续更新中)
  6. false libhadoop was built without ISA-L support以及编译hadoop本地库失败(没有解决)
  7. Flask+nginx负载均衡综合使用
  8. 详细解释到底啥是共轭先验(用本科知识来解释)
  9. CentOS下面service mysqld start出现[failed]情况
  10. 评论python编码文章《立即停止使用 setdefaultencoding('utf-8'), 以及为什么》