SQL学习笔记5

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

SQL LEFT JOIN 语法

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

或:

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

注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。

注释:LEFT JOIN 关键字从左表(Websites)返回所有的行,即使右表(access_log)中没有匹配。

********************************************************************************************************************************************************************************************

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

SQL RIGHT JOIN 语法

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

或:

SELECT  column_name(s)
FROM  table1
RIGHT OUTER JOIN  table2
ON  table1.column_name= table2.column_name;
注释:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。

注释:RIGHT JOIN 关键字从右表(Websites)返回所有的行,即使左表(access_log)中没有匹配。

****************************************************************************************************************************************************************************************

FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.

FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

SQL FULL OUTER JOIN 语法

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

**********************************************************************************************************************************************************************************************

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

SQL UNION 语法

SELECT  column_name(s) FROM  table1
UNION
SELECT  column_name(s) FROM  table2;

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

SQL UNION ALL 语法

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

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

 

***********************************************************************************************************************************************************************************

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

MySQL 数据库不支持 SELECT ... INTO 语句,但支持 INSERT INTO ... SELECT 。

当然你可以使用以下语句来拷贝表结构及数据:

CREATE TABLE 新表
AS
SELECT * FROM 旧表

SQL SELECT INTO 语法

我们可以复制所有的列插入到新表中:

SELECT *
INTO  newtable [IN  externaldb]
FROM  table1;

或者只复制希望的列插入到新表中:

SELECT  column_name(s)
INTO  newtable [IN  externaldb]
FROM  table1;
 
提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。

猜你喜欢

转载自www.cnblogs.com/chickenwrap/p/9966938.html