[size=medium]inner join(等值连接) 只返回两个表中联结字段相等的行
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录[/size]
INNER JOIN 语法:
INNER JOIN 连接两个数据表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
INNER JOIN 连接三个数据表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号
INNER JOIN 连接四个数据表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN
表4 ON Member.字段号=表4.字段号
INNER JOIN 连接五个数据表的用法:
SELECT * FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录[/size]
INNER JOIN 语法:
INNER JOIN 连接两个数据表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
INNER JOIN 连接三个数据表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号
INNER JOIN 连接四个数据表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN
表4 ON Member.字段号=表4.字段号
INNER JOIN 连接五个数据表的用法:
SELECT * FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号
(SELECT t6.f25 as 'ht',sum(t5.F05) ty from t6056 t5 inner join t6036 t6 on t5.F02 = t6.F01 where (t5.F10 = 'WS' and t6.F31< str_to_date('2016-12-01 00:00:00','%Y-%m-%d %H:%i:%s'))
or (t5.F10 = 'YS' AND t5.F09 >= str_to_date('2016-12-01 00:00:00','%Y-%m-%d %H:%i:%s') and t6.F31< str_to_date('2016-12-01 00:00:00','%Y-%m-%d %H:%i:%s')) and (t5.f08>= str_to_date('2015-10-01 00:00:00','%Y-%m-%d %H:%i:%s')
and t5.f08 < str_to_date(now(),'%Y-%m-%d %H:%i:%s'))
group by t6.f25 having F25 is not null order by ty desc limit 0,10)
union all
(SELECT t6.F52 as 'ht',sum(t5.F05) ty from t6056 t5 inner join t6036 t6 on t5.F02 = t6.F01 where ((t5.F10 = 'WS' and t6.F31< str_to_date('2016-12-01 00:00:00','%Y-%m-%d %H:%i:%s'))
or (t5.F10 = 'YS' AND t5.F09 >= str_to_date('2016-12-01 00:00:00','%Y-%m-%d %H:%i:%s') and t6.F31< str_to_date('2016-12-01 00:00:00','%Y-%m-%d %H:%i:%s'))
and (t5.f08>= str_to_date('2015-10-01 00:00:00','%Y-%m-%d %H:%i:%s') and t5.f08 < str_to_date(now(),'%Y-%m-%d %H:%i:%s'))
) and t6.F52 is not null and t6.F25 is null group by t6.F52
order by ty desc limit 0,10)
order by ty desc limit 0,10
本文详细介绍了SQL中的内连接(INNER JOIN)概念及其使用方法,并通过具体示例展示了如何利用INNER JOIN来连接多个数据表,包括两个、三个乃至更多表的连接方式。
854

被折叠的 条评论
为什么被折叠?



