SQL(二)数据库 合并表格

您所在的位置:网站首页 sql把两个表合成一个表 SQL(二)数据库 合并表格

SQL(二)数据库 合并表格

2024-06-01 07:10| 来源: 网络整理| 查看: 265

我们常常需要把不同表格里的不同列,基于一个共同的列(索引),合并成一张表,这时候就需要JOIN了。

SQL JOIN有四种类型:

INNER JOIN:如果表中有至少一个匹配,则返回行  (相当于集合中的交运算)LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行 (包含左表全部内容)RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行  (包含右表全部内容)FULL JOIN:只要其中一个表中存在匹配,则返回行   (相当于集合中的并运算)

SQL JOIN 语法:

SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name1=table2.column_name2;

解释:如果table1中的column_name1等于table2中的column_name2,就将从table1、table2中选出来的列合并成一条记录

四种类型:

1、INNER JOIN

SELECT Websites.name, access_log.count, access_log.date FROM Websites INNER JOIN access_log ON Websites.id=access_log.site_id ORDER BY access_log.count;

其中 ORDER BY 是将合并后的表格按照access_log.count列升序排列

                                                        

2、LEFT JOIN

SELECT Websites.name, access_log.count, access_log.date FROM Websites LEFT JOIN access_log ON Websites.id=access_log.site_id ORDER BY access_log.count DESC;

其中 ORDER BY  DESC 是将合并后的表格按照access_log.count列降序排列

                                                                   

3、RIGHT JOIN

SELECT Websites.name, access_log.count, access_log.date FROM access_log RIGHT JOIN Websites ON access_log.site_id=Websites.id ORDER BY access_log.count DESC;

                                                               

4、FULL OUTER JOIN

SELECT Websites.name, access_log.count, access_log.date FROM Websites FULL OUTER JOIN access_log ON Websites.id=access_log.site_id ORDER BY access_log.count DESC;

                                                                       

注意:

1、INNER JOIN 与 JOIN 是相同的。

2、在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。(如SQL SEVER)

3、在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。(如SQL SEVER)

 

参考:

[1] http://www.runoob.com/sql/sql-distinct.html

[2] http://www.w3school.com.cn/sql/sql_distinct.asp



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3