首页 > SQL学习 > SQL基础知识 > SQL中的SELECT表连接,记录联合和别名
2017
04-18

SQL中的SELECT表连接,记录联合和别名

一、表连接:

1、内连接:选取两张表中相互匹配的记录

select 表.字段,.... from 表1名,表2名,... where 表1.字段=表2.字段;

2、外连接:SQL JOIN 基于两个或多个表之间的共同字段把这些表的行结合起来返回

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

JOIN 类型:

INNER JOIN:两边表中都匹配则返回行,使用JOIN即默认使用INNER JOIN类型,INNER省略则代表使用INNER JOIN类型。

LEFT JOIN:从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。

RIGHT JOIN:从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

FULL JOIN:结合了 LEFT JOIN 和 RIGHT JOIN 的结果

二、记录联合:

SQL UNION 操作符合并两个或多个 SELECT 语句的结果。需要注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SELECT column_name(s) FROM table1 UNION [ALL] SELECT column_name(s) FROM table2;

UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

三、SQL 别名:通过使用 SQL别名,可以为表名称或列名称指定别名。创建别名是为了让列名称的可读性更强。

列的 SQL 别名语法

SELECT column_name AS alias_name FROM table_name;

表的 SQL 别名语法

SELECT column_name(s) FROM table_name AS alias_name;

别名只会在搜索出的结果显示中起到效果,如SELECT name AS n FROM table_name;在显示列明的时候不会显示name而会显示n。

还可以使用一些SQL函数,如:SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info table_name;第二列列名称会改为site_info,内容为把url,alexa,country用逗号连接起来的字符串。

表的别名实例:SELECT w.name, a.date FROM table_name01 AS w, table_name02 AS a WHERE a.site_id=w.id;

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。