mysql自连接
#自连接
SELECT b.* from shopping as a,shopping as b where a.name='惠惠' and a.price<b.price order by b.id
#子查询 SELECT * FROM shopping WHERE price>(select price from 'shopping' where name='惠惠')
#子查询
SELECT e.ename,(SELECT ename FROM emp d WHERE d.empno=e.mgr) AS boss FROM emp e;
#上面的是一张职员信息表,如果我要查询这张表中的每个职员的上司,那么必须使用自连接来查询.所以为了能实现这个查询,需要给这张表取两个别名,而且查询中所用的所有数据都需要加上表的别名前缀,因为两个表的数据列完全一样.
#选择指定员工的姓名,员工号,以及他的管理者的姓名和员工号,结果类似于下面的格式 employees Emp manager Mgr kochhar 101 king 100 SELECT e.last_name employees,e.`employee_id` "Emp#",m.last_name manager,m.employee_id "Mgr#" FROM employees e INNER JOIN employees m ON e.`manager_id`=m.employee_id WHERE e.`last_name`='kochhar';
自连接是连接的一种用法,但并不是连接的一种类型,因为他的本质是把一张表当成两张表来使用。
mysql有时在信息查询时需要进行对自身连接(自连接),所以我们需要为表定义别名。