码迷,mamicode.com
首页 > 数据库 > 详细

MySQL--多表查询

时间:2018-08-28 12:13:03      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:表关联   部分   存在   没有   原因   lib   查询语句   语句   重复记录   

  多表查询

使用多表关联查询的原因:查询的数据发布在多个表里

合并结果集

   合并结果集就是把两个select语句的查询结果合并到一起,结果集就是一个表格

两种方式:

  UNION:去掉重复记录

    如:select * from t1 union select * from t2;

  UNION ALL:不去除重复记录

    如:select * from t1 union all select * from t2;

要求:被合并的两个结果:列数必须相同

 

内连接

  语法1

    select 列名 from 表一, 表二 where 1.列名 条件运算符 表2.列名[and 条件] [order by 排序列];

  语法2

    select 列名 from 表一 inner join 表二 on 1.列名 条件运算符 表2.列名[where 条件][order by 排序列];

  语法3

    select 列名 from 1 natural join 2;

 

  步骤:

    1.   列出查询字段
    2.   观察查询字段在哪些表中
    3.   提取各表的公共字段
    4.   分析条件 

外连接:

  左外连接:

  语法:

    Select 列名 from 左表 left join 右表 on 左表.列名 条件运算符 右表.列名 [where 条件][order by 排序列];

  含义:

    左外连接是以左表为主表,去关联右表(从表),结果集中包括主表所有数据行,如果主表的某行在从表中没有匹配时,则从表的选择列为null

    select * from 表一 别名一 natural left outer join 2 别名2;

  右外连接:

  语法:  

    select 列名 from 左表 right join 右表 on 左表.列名 条件运算符 右表.列名 [where 条件] [order by 排序列];

  含义:

    右外连接是以右表为主表,去关联左表(从表),结果集中包含主表所有数据行,如果主表的某行在从表中没有匹配行时,则从表的选择列为null

    select * from 表一 别名 natural right outer join 表二 别名二;

  全外连接:

  语法:

    select 列名 from 左表 full [outer] join 右表 on 左表.列名 条件运算符 右表.列名 [where 条件] [order by 排序列]

  含义:

    完全连接左表和右表中所有行,当某行数据在另一个表中没有匹配时,则另一个表的选择列值为null

 

子查询

    概念:

       子查询就是嵌套查询,即select中包含select,如果一条语句中存在两个,或两个以上select,那么就是子查询语句了

    子查询出现的位置:

       where后,作为条件的一部分

       From后,作为被查询的一条表

    子查询结果集的形式:

      单行单列:select * from 表一 别名一 where 列一[=><>=<=!=](select from 表二 别名二 where 条件);

      多行单列:select * from 表一 别名一where 列一[IN,All,ANY](select from 表二 别名二 where 条件);

      单行多列:select * from 表一 别名一where (列一, 列二) in select 1, 2 from 2 别名2 where 条件);

      多行多列:select * from 1 别名1, (select) 别名2 where 条件;

MySQL--多表查询

标签:表关联   部分   存在   没有   原因   lib   查询语句   语句   重复记录   

原文地址:https://www.cnblogs.com/miaoqianling/p/9547321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!