zoukankan      html  css  js  c++  java
  • Mysql基本用法-left join、right join、 inner join、子查询和join-02

     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不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作。

  • 相关阅读:
    Web应用Word生成
    记 Ubuntu14.04 Monodevelop 安装的两个问题
    CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题
    Binary Search Tree Iterator
    算法之贪心算法
    《SAS编程与数据挖掘商业案例》学习笔记之十七
    数据库设计之半结构化存储
    Timus 1446. Sorting Hat 分类问题
    WebGL on iOS8 最终等到了这一天
    仿netty线程池简化版本
  • 原文地址:https://www.cnblogs.com/xy404/p/3709330.html
Copyright © 2011-2022 走看看