一、SQL SELECT TOP 子句
- Top子句用于指定要返回的记录数量,在包含成千上万记录的大型表上作用很大;在返回大量记录会影响性能。
- 但并不是所有数据库系统都支持
SELECT TOP
子句,在MySQL中,支持LIMIT
子句来选择来有限数量的记录,而Oracle使用ROWNUM
。
实例一说明,数据库表名为Study,字段有 Name、Age、Sex、Address等
SQL语法:
select top 5 * from Study;
实例拓展:以下SQL语句从"Study"表中选择前50%记录,
PERCENT
中文为百分比:
select top 50 percent * from Study;
MySQL语法:
select * from Study limit 5;
拓展:为什么要LIMIT查询结果?
它作为一种简单的分页方法,主要是为了减少数据返回时间,数据成千上万的表使用限制,可以减少查询数据返回的时间,提高效率。
Oracle语法:
select * from Study where rownum <= 5;
二、SQL LIKE 运算符
- 在WHERE子句中使用
LIKE
运算符来搜索列中的指定模式,其中有两个通配符与LIKE
运算符一起使用,也可以组合使用: %
- 百分号表示零个,一个或多个字符_
- 下划线表示单个字符
使用 SQL [charlist] 通配符
- 以下 SQL 语句选择所有客户
Name
以"d"、"k"或"c"开头:
SELECT * FROM Study WHERE Name LIKE '[dkc]%';
- 以下 SQL语句选择
Name
以“a”、“b”或“c”开头的所有客户:
SELECT * FROM Study WHERE Name LIKE '[a-c]%';
- 以下 SQL 语句选择所有客户
Name
不以"d"、"k"或"c"开头:
SELECT * FROM Study WHERE Name LIKE '[!dkc]%';
SELECT * FROM Study WHERE Name Not LIKE '[dkc]%';
三、IN、BETWEEN操作符
- IN 运算符允许您在 WHERE 子句中指定多个值。
- IN 运算符是多个 OR 条件的简写。
- BETWEEN运算符用于选取介于两个值之间的数据范围内的值。
- BETWEEN运算符选择给定范围内的值。值可以是数字,文本或日期。
实例:
IN
实例—以下 SQL 语句选取位于年龄`“19”,“20”和“21”的所有用户:
select * from Study where age In (19,20,21);
BTWEEN
实例—以下SQL语句选择年龄在18到20之间的所有用户:
select * from Study where Age Between 18 and 20 ;
- 带有IN的BETWEEN操作符实例—年龄在18到20但ID不是1,2或3的所有用户:
select * from Study where (age Between 18 and 20) and Not In (1,2,3);
SQL语句快速: