连接查询就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;本文主要和大家分享mysql连接查询实例详解,希望能帮助到大家。
没有条件,只是按连接的基本概念,将所有数据行都连接起来的结果。它又叫做“笛卡尔积”;
对于表1(n1个字段,n2行),表2,(m1个字段,m2行),他们交叉连接的结果是:
有n1+m1个列;
有n2*m2个行;
形式有:
select * from 表1, 表2;
select * from 表1 join 表2;
select * from 表1 cross join 表2;
例:
结果:
形式:
select * from 表1 【inner】 join 表2 on 连接条件;
例:
结果:
注意:这种的表跟表之间的内连接查询,虽然可以体现为表跟表之间的“关系”——通常就是外键关系——但并不是有外键关系才能使用这种连接。
可以使用as为其设置别名:
形式:
表1(左表) left 【outer】 join 表2(右表) on 连接条件
含义:其实就是将两个表的内连接的结果,再加上左边表的不符合内连接所设定的条件的那些数据的结果;
例:
结果:
可见,左连接的结果,左边表的数据,一定都会“全部取出”;
形式:
表1(左表) right 【outer】 join 表2(右表) on 连接条件
含义:其实就是将两个表的内连接的结果,再加上右边表的不符合内连接所设定的条件的那些数据的结果;
例:
结果:
就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;
没有条件,只是按连接的基本概念,将所有数据行都连接起来的结果。它又叫做“笛卡尔积”;
对于表1(n1个字段,n2行),表2,(m1个字段,m2行),他们交叉连接的结果是:
有n1+m1个列;
有n2*m2个行;
形式有:
select * from 表1, 表2;
select * from 表1 join 表2;
select * from 表1 cross join 表2;
例:
结果:
形式:
select * from 表1 【inner】 join 表2 on 连接条件;
例:
结果:
注意:这种的表跟表之间的内连接查询,虽然可以体现为表跟表之间的“关系”——通常就是外键关系——但并不是有外键关系才能使用这种连接。
可以使用as为其设置别名:
形式:
表1(左表) left 【outer】 join 表2(右表) on 连接条件
含义:其实就是将两个表的内连接的结果,再加上左边表的不符合内连接所设定的条件的那些数据的结果;
例:
结果:
可见,左连接的结果,左边表的数据,一定都会“全部取出”;
形式:
表1(左表) right 【outer】 join 表2(右表) on 连接条件
含义:其实就是将两个表的内连接的结果,再加上右边表的不符合内连接所设定的条件的那些数据的结果;
例:
结果:
相关推荐:
以上就是mysql连接查询实例详解的详细内容,更多请关注php中文网其它相关文章!
……