mysql左连接sql语句详解_SQL各种连接查询详解(左连接、右连接..)

一、交叉连接(cross join)

交叉连接(cross join):有两种,显式的和隐式的,不带on子句,返回的是两表的乘积,也叫笛卡尔积。

例如:下面的语句1和语句2的结果是相同的。

语句1:隐式的交叉连接,没有cross join。

selecto.id, o.order_number, c.id, c.name fromorders o , customers c where o.id=1;

语句2:显式的交叉连接,使用cross join。

selecto.id,o.order_number,c.id,c.name from orders o cross joincustomers c whereo.id=1;

语句1和语句2的结果是相同的,查询结果如下:

二、内连接(inner join)

内连接(inner join):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。(所谓的链接表就是数据库在做查询形成的中间表)。

例如:下面的语句3和语句4的结果是相同的。

语句3:隐式的内连接,没有inner join,形成的中间表为两个表的笛卡尔积。

selecto.id,o.order_number,c.id,c.name fromcustomers c, orders o wherec.id=o.customer_id;

语句4:显示的内连接,一般称为内连接,有inner join,形成的中间表为两个表经过on条件过滤后的笛卡尔积。

selecto.id,o.order_number

你可能感兴趣的:(mysql左连接sql语句详解)