MySql-多表查询

多表查询分为以下几种:

        合并结果集:  UNION    UNION ALL

         连接查询

                                  内连接[INNER] JOIN  ON

                                  外连接OUTER JOIN   ON

                                           左外连接LEFT [OUTER] JOIN

                                           右外连接RIGHT [OUTER] JOIN

                                            全外连接(MySQL不支持)FULL JOIN

                                  自然连接NATURAL JOIN

         子查询   


1.合并结果集

     a. 作用:合并结果集就是把两个select语句的查询结果合并到一起

     b.合并结果集有两种方式:

          UNION:去除重复记录,例如:SELECT* FROM t1 UNION SELECT * FROM t2;

          UNIONALL:不去除重复记录,例如:SELECT * FROM  t1 UNION ALL  SELECT * FROM            t2;

   c.要求:被合并的两个结果:列数、列类型必须相同

2. 连接查询

     使用主外键关系做为条件来去除无用信息

     @内连接查询

     语法:

       select  表1.字段,表2.字段 。。。  from 表1,表2 where 表1.字段=表2.字段;

       这个方法就是内连接查询 ,但不是标准的内连接查询  那标准的内连接查询

      select *from 表1 a  inner join 表2 b on a.字段=b.字段;

    @外连接查询


@自然连接

@子查询

    概述:一个select语句中包含另一个完整的select语句。子查询就是嵌套查询,即SELECT中                   包含SELECT,如果一条语句中存在两个,或两个以上SELECT,那么就是子查询语句                 了

子查询出现的位置:

                  where后,作为条为被查询的一条件的一部分;

                   from后,作表;

当子查询出现在where后作为条件时,还可以使用如下关键字:

                 any

                 all

子查询结果集的形式:

                单行单列(用于条件)

               单行多列(用于条件)

               多行单列(用于条件)

               多行多列(用于表)

@自连接查询

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容