Mysql基础——多表联查之连接查询

连接查询

        (1)内连接

        内连接查询的是两张表交集的部分。

实例:

人员名单表


职务表

        内联查询:

select distinct p.*,t.* from person p inner join part t on p.id=t.id;

        结果:

        (2)外连接

                1.左连接

                查询左表所有数据,以及两张表交集部分数据
                相当于查询表1(左表)的所有数据,包含表1和表2交集部分数据

        实例:

        人员名单在左,职务表在右,进行左连接查询:

select distinct  p.*,t.* from person p left join part t on p.id=t.id;

        运行结果:        

                2.右查询

                查询右表所有数据,以及两张表交集部分数据

                相当于查询表1(右表)的所有数据,包含表1和表2交集部分数据

        实例:

        人员名单在左,职务表在右,进行右连接查询:

select distinct  p.*,t.* from person p right join part t on p.id=t.id;

        运行结果:

         (3)自连接

                当前表与自身的连接查询,自连接必须使用表别名

                自连接查询,可以是内连接查询,也可以是外连接查询

        实例:

                现在有一张地区表,查询芜湖县属于哪个市,哪个省,哪个国家。

         操作:

mysql> select a1.name '县城',a2.name '城市',a3.name '省份',a4.name '国家'
    -> from area a1 left join area a2 on a1.pid=a2.id
    -> left join area a3 on a2.pid=a3.id
    -> left join area a4 on a3.pid=a4.id where a1.level=3 && a1.name='芜湖县';

        查询结果:

猜你喜欢

转载自blog.csdn.net/Alcaibur/article/details/128208075
今日推荐