大家好,我是阿娟,一位从业 7 年的软件测试程序媛,上一节介绍了数据库基础教程-八种常用语法,今天给大家分享数据库高阶教程第一节
- SQL LIMIT 子句
- SQL LIKE 操作符
- SQL 通配符
- SQL IN 操作符
- SQL BETWEEN 操作符
- SQL 别名
一、LIMIT子句
Student表,包含字段snum、sname、birthday、sex
一)语法
1、SELECT 字段名(s) FROM 表名 LIMIT 数值;
2、SELECT 字段名(s)FROM 表名 LIMIT m,n;
表示从第m+1位的数据开始取,取n个数
3、LIMIT 子句和OFFSET组合使用
SELECT 字段名(s)FROM 表名 LIMIT m OFFSET n;
表示从第n+1位的数据开始取,取m个数
二)举例
1、展示查询结果的前三条数据
SELECT * FROM Student LIMIT 3;
执行结果如下,查询出当前Student表的前三条数据
2、查询出Studen表中第2,3,4条记录
SELECT * FROM Student LIMIT 1,3;
执行结果如下:
3、查询出表中第2,3,4条记录
SELECT * FROM Student LIMIT 3 OFFSET 1;
执行结果如下:
二、SQL LIKE 操作符
Student表,包含字段snum、sname、birthday、sex
用于在 WHERE 子句中搜索字段中的指定模式,例如以xx字符开始的数据,以xx字符结束的数据等。
一)语法
1、查询 以xx 开头的数据
SELECT 字段名(s) FROM 表名 WHERE 列名 LIKE'xx%';
2、查询以 xx结束的数据
SELECT 字段名(s) FROM 表名 WHERE 列名 LIKE '%xx';
3、查询包含xx的数据
SELECT 字段名(s) FROM 表名 WHERE 列名 LIKE'%xx%';
4、查看不包含xx的数据
SELECT 字段名(s) FROM 表名 WHERE 列名NOT LIKE'%xx%';
二)举例
1、查询Student表中 sname 以张开头的数据
SELECT * FROM Student WHERE sname LIKE '张%';
执行结果如下,返回一条数据
2、查询Student表 sname 以娟结尾的数据
SELECT * FROM Student WHERE sname LIKE '%娟';
执行结果如下:
3、查询Student表中sname 包含三的数据
SELECT * FROM Student WHERE sname LIKE '%三%';
执行结果如下:
4、查询Student表中sname 不包含三的数据
SELECT * FROM Student WHERE sname NOT LIKE '%三%';
执行结果如下:
三、SQL 通配符
Student表,包含字段snum、sname、birthday、sex
通配符可用于替代字符串中的任何其他字符,常和LIKE子句组合。
SQL用到的通配符如下:
%:替代 0 个或多个字符
-:替代一个字符
[charlist]:字符列中的任何单一字符
[^charlist]或[!charlist]:不在字符列中的任何单一字符
一)举例
1、查询Student表中sname 不包含三的数据
SELECT * FROM Student WHERE sname NOT LIKE '%三%';
执行结果如下:
2、查询Student表中sname中间包含三的数据
SELECT * FROM Student WHERE sname LIKE '_三_';
执行结果如下,返回一条数据
3、查询Studen表中sname中包含字符三的数据
SELECT * FROM Student WHERE sname REGEXP '[三]';
执行结果如下,返回一条数据
四、SQL IN 操作符
Student表,包含字段snum、sname、birthday、sex
Score表,包含字段snum、classnum、grade
允许在 WHERE 子句中规定多个条件值。
一)语法
1、符合多个条件
SELECT 字段(s) FROM 表名 WHERE 字段 IN (值1,值2,...);
2、不符合多个条件
SELECT 字段(s) FROM 表名 WHERE 字段 NOT IN (值1,值2,...);
二)举例
1、查询Score表中 grade中包含80,85的数据
SELECT * FROM Score WHERE grade IN (80,85);
执行结果如下:
2、查询Score表中grade中不包含80,85的数据
SELECT * FROM Score WHERE grade NOT IN (80,85);
执行结果如下:
五、SQL BETWEEN 操作符
Student表,包含字段snum、sname、birthday、sex
Score表,包含字段snum、classnum、grade
查询条件筛选:选取介于两个值之间的数据范围内的值。
一)语法
1、在某个取值范围内
SELECT 字段(s) FROM 表名 WHERE 字段 BETWEEN 值1 AND 值2;
2、不在某个取值范围内
SELECT 字段(s) FROM 表名 WHERE 字段 NOT BETWEEN 值1 AND 值2;
二)举例
1、查询Score表grade不在(80,85)的数据
SELECT * FROM Score WHERE grade BETWEEN 80 AND 85;
执行结果如下,取值包含80和85
2、查询Score表grade不在(80,85)的数据
SELECT * FROM Score WHERE grade NOT BETWEEN 80 AND 85;
执行结果如下,取值不包含80和85
六、SQL 别名
Student表,包含字段snum、sname、birthday、sex
为表名称或列名称指定别名,使用别名的几个场景:
- 在查询中涉及超过一个表
- 在查询中使用了函数
- 列名称很长或者可读性差
- 需要把两个列或者多个列结合在一起
一)语法
1、列别名
SELECT 列名 AS 别名 FROM 表名;
2、表别名
SELECT 列名(s) FROM 表名 AS 表别名;
二)举例
1、列sname的 SQL别名
SELECT sname AS name FROM Student;
执行结果如下:
2、表的 SQL 别名语法
SELECT sname FROM Student AS Student1;
以上就是今天的分享,谢谢你的阅读呀 ~~