【MYSQL】SQL 的join 区别
2014-09-02 10:20
141 查看
----------------------INNER JOIN---------------------------
1. 三表联合查询
select XX,XX from a , b , c
笛卡尔积,等同于cross join
2. cross join
--列出两边所有组合,也叫笛卡尔集A.Rows * B.Rows
select *
from Sales S cross join Customers C
3. inner join = join
--两边都有的才筛选出来
select *
from Sales S inner join Customers C
on S.Cust_Id = C.Cust_Id
----------------------OUTER JOIN---------------------------
4. left join = left outer join
--以左边的表为主表,列出主表所有记录,能匹配就匹配,不匹配的用NULL列出
select * from Customers c left join sales s
on c.cust_id = s.cust_id
5. right join = right outer join
--以右边的表为主表,列出主表所有记录,能匹配就匹配,不匹配的用NULL列出
select * from Customers c right join sales s
on c.cust_id = s.cust_id
6. Full join = full outer join
--两边都列出来,能匹配就匹配,不匹配的用NULL列出
select *
from Sales S full outer join Customers C
on S.Cust_Id = C.Cust_Id
示例======================
SELECT A.id, rule_id, alarm_name, filter_key, A.subtype, B.name
FROM (
A
LEFT JOIN B ON A.subtype = B.id
)
JOIN C ON C.alarm_type = A.type
1. 三表联合查询
select XX,XX from a , b , c
笛卡尔积,等同于cross join
2. cross join
--列出两边所有组合,也叫笛卡尔集A.Rows * B.Rows
select *
from Sales S cross join Customers C
3. inner join = join
--两边都有的才筛选出来
select *
from Sales S inner join Customers C
on S.Cust_Id = C.Cust_Id
----------------------OUTER JOIN---------------------------
4. left join = left outer join
--以左边的表为主表,列出主表所有记录,能匹配就匹配,不匹配的用NULL列出
select * from Customers c left join sales s
on c.cust_id = s.cust_id
5. right join = right outer join
--以右边的表为主表,列出主表所有记录,能匹配就匹配,不匹配的用NULL列出
select * from Customers c right join sales s
on c.cust_id = s.cust_id
6. Full join = full outer join
--两边都列出来,能匹配就匹配,不匹配的用NULL列出
select *
from Sales S full outer join Customers C
on S.Cust_Id = C.Cust_Id
示例======================
SELECT A.id, rule_id, alarm_name, filter_key, A.subtype, B.name
FROM (
A
LEFT JOIN B ON A.subtype = B.id
)
JOIN C ON C.alarm_type = A.type
相关文章推荐
- mysql sql left right inner join区别及效率比较
- MS SQL Server和MySQL区别
- 【SQL】 left join、right join and inner join的区别
- SQL中cross join,left join,right join ,full join,inner join 的区别
- sql 语句中join的类型及区别小记
- SQL中 Inner Join(内连),Left Join(左连),Right Join(右连),Full Join(全外连) 之间的区别 zz
- sql--outer和left outer join,INNER JOIN,CROSS JOIN有什么区别??
- 【转】sql--outer和left outer join,INNER JOIN,CROSS JOIN有什么区别
- SQL/MYSQL/MSSQL/Access区别比较
- SQL中 Inner Join(内连),Left Join(左连),Right Join(右连),Full Join(全外连) 之间的区别
- MySQL left join right join inner join 区别
- Introduction to Oracle9i: SQL------- left join 和 left outer join 的区别
- MySQL / SQL Server / Oracle / MS Access的sql语句联系区别总结
- SQL中JOIN和UNION区别、用法及示例
- SQL中的left outer join,inner join,right outer join用法及区别
- SQL中cross join,left join,right join ,full join,inner join 的区别
- sql server apply与 join等的区别
- MS SQL Server和MySQL区别
- SQL中cross join,left join,right join ,full join,inner join 的区别
- Sql 之 left join、right join、inner join、full join 的区别 .