代码如下:
select column_name from table1 left [outer] join table2 on table1.column=table2.column
b. right [outer] join:
right与left join相似不同的仅仅是除了显示符合连接条件的结果之外,还需要显示右表中不符合连接条件的数据列,相应使用null对应
代码如下:
select column_name from table1 right [outer] join table2 on table1.column=table2.column
tips:
代码如下:
select * from table1,table2 where table1.id=table2.id;
2. on
mysql>
代码如下:
select * from table1 left join table2 on table1.id=table2.id;
select * from table1 left join table2 on table1.id=table2.id
left join table3 on table2.id=table3.id;
3. using子句,如果连接的两个表连接条件的两个列具有相同的名字的话可以使用using
例如:
select from left join using ()
连接多于两个表的情况举例:
mysql>
select artists.artist, cds.title, genres.genre from cds left join genres n cds.genreid = genres.genreid left join artists on cds.artistid = artists.artistid;
或者 mysql>
select artists.artist, cds.title, genres.genre from cds left join genres on cds.genreid = genres.genreid left join artists -> on cds.artistid = artists.artistid where (genres.genre = 'pop');
--------------------------------------------
代码如下:
select * from t1 left join t2 on (column1) where t2.column2=5;
因此,可以安全地将查询转换为普通联接:
代码如下:
select * from t1, t2 where t2.column2=5 and t1.column1=t2.column1;
这样可以更快,因为如果可以使查询更佳,mysql可以在表t1之前使用表t2。为了强制使用表顺序,使用straight_join。
以上就是本文的全部内容,希望对大家的学习有所帮助。