您的位置:首页 > 博客中心 > 数据库 >

SQL 的join 区别

时间:2022-03-13 23:17

----------------------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

热门排行

今日推荐

热门手游