mysql 自连接就是自己根据条件先查一些数据然后再返回的值再查一些数据了,这个就是mysql 自连接了,当然利用left join也是可以实现的,下面我们一起来看mysql 自连接用法。

 

mysql的自联结的处理速度比子查询快了很多。所以自联结还是有必要学习的。

普通的sql子查询语句

 代码如下

复制代码

SELECT `id`,`bic` FROM `biao` WHERE `id`=(SELECT `id` FROM `biao` WHERE `id`='9696e');

mysql的自联结sql语句

 代码如下

复制代码

SELECT `id`,`bic` FROM `biao` AS a, `biao` AS b WHERE a.id=b.id AND b.id='www.111cn.net';

自联结的sql语句看起来也清爽优美。

从这两个例子我们可以看出,自连接的语法结构很简单,但语意结果往往不是
那么容易理解。就我们这里所列出的两个表,如果运用得当,能解决很多实际问题,
例如,任意两个站点之间如何换乘。


 代码如下

复制代码

SELECT R1.company, R1.num 
FROM route R1, route R2, stops S1, stops S2 
WHERE R1.num=R2.num AND R1.company=R2.company 
AND R1.stop=S1.id AND R2.stop=S2.id 
AND S1.name='Craiglockhart' 
AND S2.name='Tollcross'