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 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

SQL 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;

在下面的情况下,使用别名很有用:

  • 在查询中涉及超过一个表
  • 在查询中使用了函数
  • 列名称很长或者可读性差
  • 需要把两个列或者多个列结合在一起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值