MySQL连接查询

首先创建两个表

fruits表,包含水果 id、名字、价格

orders表,包含 id 和订单号(num)

1.内连接查询(INNOR JOIN)

使用普通sql语句

select fruits.id,name,price,num

from fruits,orders

where fruits.id=orders.id;

使用内连接查询语句(结果与上图相同)

select fruits.id,name,price,num

from fruits INNER JOIN orders

ON fruits.id=orders.id;

inner join语法是ANSI SQL的标准规范,使用inner join连接语法能够确保不会忘记连接条件

2.自连接查询

例如:

select f1.id,f1.name

from fruits AS f1,fruits AS f2

where f1.id = f2.id and f2.id = '01';

3.外连接查询

  • LEFT JOIN(左连接):返回左边表中的所有记录和右表中与连接字段相等的记录。
  • RIGHT JOIN(右连接):返回右边表中的所有记录和右表中与连接字段相等的记录。

1.LEFT JOIN(左连接)

select fruits.id,orders.num

from fruits left outer join orders

on fruits.id=orders.id;

2.RIGHT JOIN(右连接)

select fruits.id,orders.num

from fruits right outer join orders

on fruits.id=orders.id;

4.复合条件连接查询

select name,price,num

from fruits inner join orders

on fruits.id=orders.id AND fruits.price>4;