逗号关联操作符的效果与INNER JOIN相似
[sql]
select t*t* from t t where ti = ti;
等价于
[sql]
select t*t* from t INNER JOIN t where ti = ti;
注意逗号关联操作符的优先级和其他联结类型不一样有时还会导致语法错误而其他联结操作符没有这个问题应尽量避免使用逗号操作符
using()子句它在概念上类似on子句和where但是要求被联结的列必须是同名的
如
[sql]
select t*t* from t inner join t using(i)
等价于
[html]
select t*t* from t inner join t on ti =ti;
如何消除自联结(也就是把一个数据表与它本身联结起来)
这个时候需要用到别名如
[sql]
select mnamemname from mytable as m inner join mytable as m where mname = mname
有关左联结和右联结(外联结)
内联结只能显示在两个数据表里都能找到的数据行外联结除了显示了同样的结果还可以把其中一个数据表在另一个数据表里面有匹配的数据行也显示出来左联结把左数据表在右数据表里没有匹配的数据行也显示出来右边表里没有的数据会显示NULL