SQL SELECT TOP, LIMIT, ROWNUM 子句

SELECT TOP 子句用于规定要返回的记录的数目。
SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。

SQL Server / MS Access 语法

SELECT TOP _number_|_percent_ _column_name(s)_<br />FROM _table_name_;

MySQL 语法

SELECT _column_name(s)_<br />FROM _table_name_<br />LIMIT _number_;

SQL LIKE 操作符

SQL LIKE 语法

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SELECT _column_name(s)_<br />FROM _table_name_<br />WHERE _column_name_ LIKE _pattern_;

SQL 通配符

在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
SQL 通配符用于搜索表中的数据。
在 SQL 中,可使用以下通配符:

通配符 描述
% 替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]

[!charlist]
不在字符列中的任何单一字符

SQL IN 操作符

IN 操作符

IN 操作符允许您在 WHERE 子句中规定多个值。

SQL IN 语法

SELECT _column_name(s)_<br />FROM _table_name_<br />WHERE _column_name_ IN (_value1_,_value2_,...);

SQL BETWEEN 操作符

BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

SELECT _column_name(s)_<br />FROM _table_name_<br />WHERE _column_name _BETWEEN _value1_ AND _value2;_

SQL 别名

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

列的 SQL 别名语法

SELECT column_name AS alias_name FROM table_name;

表的 SQL 别名语法

SELECT column_name(s) FROM table_name AS alias_name;

SQL 连接(JOIN)

SQL join 用于把来自两个或多个表的行结合起来。
下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。
image.png

SQL INNER JOIN 关键字

INNER JOIN 关键字在表中存在至少一个匹配时返回行。

SQL INNER JOIN 语法

SELECT _column_name(s)_<br />FROM _table1_<br />INNER JOIN _table2_<br />ON _table1.column_name_=_table2.column_name_;
或:
SELECT _column_name(s)_<br />FROM _table1_<br />JOIN _table2_<br />ON _table1.column_name_=_table2.column_name_;
注释:INNER JOIN 与 JOIN 是相同的。

SQL LEFT JOIN 关键字

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

SQL LEFT JOIN 语法

SELECT _column_name(s)_<br />FROM _table1_<br />LEFT JOIN _table2_<br />ON _table1.column_name_=_table2.column_name_;
或:
SELECT _column_name(s)_<br />FROM _table1_<br />LEFT OUTER JOIN _table2_<br />ON _table1.column_name_=_table2.column_name_;
注释:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。

SQL RIGHT JOIN 关键字

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

SQL RIGHT JOIN 语法

SELECT _column_name(s)_<br />FROM _table1_<br />RIGHT JOIN _table2_<br />ON _table1.column_name_=_table2.column_name_;
或:
SELECT _column_name(s)_<br />FROM _table1_<br />RIGHT OUTER JOIN _table2_<br />ON _table1.column_name_=_table2.column_name_;
注释:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。

SQL FULL OUTER JOIN 关键字

FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.
FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

SQL FULL OUTER JOIN 语法

SELECT _column_name(s)_<br />FROM _table1_<br />FULL OUTER JOIN _table2_<br />ON _table1.column_name_=_table2.column_name_;

SQL UNION 操作符

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


SQL UNION 操作符

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

SQL UNION 语法

SELECT _column_name(s)_ FROM _table1_<br />UNION<br />SELECT _column_name(s)_ FROM _table2_;
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SQL UNION ALL 语法

SELECT _column_name(s)_ FROM _table1_<br />UNION ALL<br />SELECT _column_name(s)_ FROM _table2_;
注释:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

SQL SELECT INTO 语句

通过 SQL,您可以从一个表复制信息到另一个表。
SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。


SQL SELECT INTO 语句

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。
注意:
MySQL 数据库不支持 SELECT … INTO 语句,但支持 INSERT INTO … SELECT
当然你可以使用以下语句来拷贝表结构及数据:
CREATE TABLE 新表 AS SELECT * FROM 旧表

SQL SELECT INTO 语法

我们可以复制所有的列插入到新表中:
SELECT *<br />INTO _newtable_ [IN _externaldb_]<br />FROM _table1;_
或者只复制希望的列插入到新表中:
SELECT _column_name(s)_<br />INTO _newtable_ [IN _externaldb_]<br />FROM _table1;_

image.png 提示:新表将会使用 SELECT 语句中定义的列名称和类型进行创建。您可以使用 AS 子句来应用新名称。

SQL INSERT INTO SELECT 语句

SQL CREATE DATABASE 语句

SQL CREATE TABLE 语句

SQL 约束(Constraints)

SQL NOT NULL 约束