SQL高级语法(一)
2018-01-30 11:29
417 查看
SQL SELECT TOP LIMIT ROWNUM 子句
SQL LIKE 操作符
SQL 通配符
SQL IN 操作符
SQL BETWEEN 操作符
SQL 别名
SQL SELECT TOP 子句
SELECT TOP 子句用于规定要返回的记录的数目。
SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。
注释:并非所有的数据库系统都支持 SELECT TOP 子句。
SQL Server / MS Access 语法
实例
以下操作选取表中前面3条记录。
以下操作在 Microsoft SQL Server 数据库中可执行。选取表中前面百分之 50 的记录。
MySQL 语法
实例:选择表Persons前面三条信息。
Oracle 语法
实例:选择表Persons前面三条信息。
SQL LIKE 语法
实例
提示:”%” 符号用于在模式的前后定义通配符(缺省字母)。可以在任意位置使用它,也可以多个使用。
在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
SQL 通配符用于搜索表中的数据。
在 SQL 中,可使用以下通配符:
它们都可以在任意位置使用,也可以多个使用。
SQL [charlist] 通配符
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。
实例
下面的 SQL 语句选取成绩 以 “8”、”9” 开始的所有同学:
下面的 SQL 语句选取成绩以 6 到 8 字母开头的同学:
下面的 SQL 语句选取成绩不以 6 到 8 字母开头的同学:
SQL IN 语法
SQ
4000
L BETWEEN 语法
实例
以下实例查询成绩及格的同学:
改用
字符区间的时候要加单引号,如字母A到H之间字母开头的记录:
日期值选取,如介于 ‘2016-05-10’ 和 ‘2016-05-14’ 之间的所有访问记录:
请注意,在不同的数据库中,BETWEEN 操作符会产生不同的结果!
在某些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段。
因此,请检查您的数据库是如何处理 BETWEEN 操作符!
基本上,创建别名是为了让列名称的可读性更强。
列的 SQL 别名语法
表的 SQL 别名语法
在下面的情况下,使用别名很有用:
在查询中涉及超过一个表
在查询中使用了函数
列名称很长或者可读性差
需要把两个列或者多个列结合在一起
SQL LIKE 操作符
SQL 通配符
SQL IN 操作符
SQL BETWEEN 操作符
SQL 别名
SQL SELECT TOP, LIMIT, ROWNUM 子句
以下表作为测试:SQL SELECT TOP 子句
SELECT TOP 子句用于规定要返回的记录的数目。
SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。
注释:并非所有的数据库系统都支持 SELECT TOP 子句。
SQL Server / MS Access 语法
SELECT TOP number|percent column_name(s) FROM table_name;
实例
以下操作选取表中前面3条记录。
SELECT TOP 3 * FROM student;
以下操作在 Microsoft SQL Server 数据库中可执行。选取表中前面百分之 50 的记录。
SELECT TOP 50 PERCENT * FROM student;
MySQL 语法
SELECT column_name(s) FROM table_name LIMIT number;
实例:选择表Persons前面三条信息。
SELECT * FROM student LIMIT 3;
Oracle 语法
SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;
实例:选择表Persons前面三条信息。
SELECT * FROM student WHERE ROWNUM <=3;
SQL LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。SQL LIKE 语法
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
实例
提示:”%” 符号用于在模式的前后定义通配符(缺省字母)。可以在任意位置使用它,也可以多个使用。
SQL 通配符
通配符可用于替代字符串中的任何其他字符。在 SQL 中,通配符与 SQL LIKE 操作符一起使用。
SQL 通配符用于搜索表中的数据。
在 SQL 中,可使用以下通配符:
通配符 | 描述 |
---|---|
% | 替代 0 个或多个字符 |
_ | 替代一个字符 |
[charlist] | 字符列中的任何单一字符 |
[^charlist] 或 [!charlist] | 不在字符列中的任何单一字符 |
_实例
SQL [charlist] 通配符
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。
实例
下面的 SQL 语句选取成绩 以 “8”、”9” 开始的所有同学:
下面的 SQL 语句选取成绩以 6 到 8 字母开头的同学:
下面的 SQL 语句选取成绩不以 6 到 8 字母开头的同学:
SQL IN 操作符
IN 操作符允许您在 WHERE 子句中规定多个值。SQL IN 语法
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);
SQL BETWEEN 操作符
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。SQ
4000
L BETWEEN 语法
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;
实例
以下实例查询成绩及格的同学:
改用
NOT BETWEEN 60 AND 100就是查询不及格的同学了。
字符区间的时候要加单引号,如字母A到H之间字母开头的记录:
BETWEEN 'A' AND 'H'
日期值选取,如介于 ‘2016-05-10’ 和 ‘2016-05-14’ 之间的所有访问记录:
BETWEEN '2016-05-10' AND '2016-05-14'
请注意,在不同的数据库中,BETWEEN 操作符会产生不同的结果!
在某些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段。
因此,请检查您的数据库是如何处理 BETWEEN 操作符!
SQL 别名
通过使用 SQL,可以为表名称或列名称指定别名。基本上,创建别名是为了让列名称的可读性更强。
列的 SQL 别名语法
SELECT column_name AS alias_name FROM table_name;
表的 SQL 别名语法
SELECT column_name(s) FROM table_name AS alias_name;
在下面的情况下,使用别名很有用:
在查询中涉及超过一个表
在查询中使用了函数
列名称很长或者可读性差
需要把两个列或者多个列结合在一起
相关文章推荐
- SQL高级语法——DML
- SQL高级语法-RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
- T-SQL 高级编程(基本语法)
- SQL高级语法-FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
- SQL高级语法-UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
- 高级T_SQL语法(2005)
- SQL高级查询等语法
- SQL高级语法汇总
- SQL高级语法(四) --- 索引视图等
- SQL语法之高级查询
- SQL高级语法汇总
- SQL高级语法(三) --- 约束
- sql 高级语法
- SQL语法之高级查询
- sql高级语法入门
- SQL高级语法(二) --- 连接等
- 高级SQL语法
- SQL高级语法- INNER JOIN 关键字 在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
- 高级SQL语法
- SQL高级语法汇总