mysql完成条件局限语句的案例(二)
发表时间:2023-07-20 来源:明辉站整理相关软件相关文章人气:
[摘要]5.limit语句:语法:select 字段名 from 标明 limit 起始行,查询几行;mysql> select * from 4a limit 0,3;+--------+-----...
5.limit语句:
语法:select 字段名 from 标明 limit 起始行,查询几行;
mysql> select * from 4a limit 0,3;
+--------+------+--------+------+--------+------+------+-------+
sname sage tname t cname s c score
+--------+------+--------+------+--------+------+------+-------+
刘一 18 叶平 1 语文 1 1 56
刘一 18 贺高 2 数学 1 2 78
刘一 18 杨艳 3 英语 1 3 67
+--------+------+--------+------+--------+------+------+-------+
3 rows in set (0.00 sec)
注意:起始行的第一行为0而不是1。
6. like语句:
语法:select 字段名 from 表名 where 字段名 like 条件;
mysql> select * from 4a where sage like "%9" or sage like "%8";
+--------+------+--------+------+--------+------+------+-------+
sname sage tname t cname s c score
+--------+------+--------+------+--------+------+------+-------+
刘一 18 叶平 1 语文 1 1 56
刘一 18 贺高 2 数学 1 2 78
刘一 18 杨艳 3 英语 1 3 67
刘一 18 周磊 4 物理 1 4 58
钱二 19 叶平 1 语文 2 1 79
钱二 19 贺高 2 数学 2 2 81
钱二 19 杨艳 3 英语 2 3 92
钱二 19 周磊 4 物理 2 4 68
李四 18 贺高 2 数学 4 2 88
李四 18 杨艳 3 英语 4 3 90
李四 18 周磊 4 物理 4 4 93
赵六 19 叶平 1 语文 6 1 35
赵六 19 贺高 2 数学 6 2 68
赵六 19 周磊 4 物理 6 4 71
+--------+------+--------+------+--------+------+------+-------+
14 rows in set (0.00 sec)
mysql> select * from 4a where sage like "%9" or sage like "%8" or sage like "%%";
+--------+------+--------+------+--------+------+------+-------+
sname sage tname t cname s c score
+--------+------+--------+------+--------+------+------+-------+
刘一 18 叶平 1 语文 1 1 56
刘一 18 贺高 2 数学 1 2 78
刘一 18 杨艳 3 英语 1 3 67
刘一 18 周磊 4 物理 1 4 58
钱二 19 叶平 1 语文 2 1 79
钱二 19 贺高 2 数学 2 2 81
钱二 19 杨艳 3 英语 2 3 92
钱二 19 周磊 4 物理 2 4 68
张三 17 叶平 1 语文 3 1 91
张三 17 贺高 2 数学 3 2 47
张三 17 杨艳 3 英语 3 3 88
张三 17 周磊 4 物理 3 4 56
李四 18 贺高 2 数学 4 2 88
李四 18 杨艳 3 英语 4 3 90
李四 18 周磊 4 物理 4 4 93
王五 17 叶平 1 语文 5 1 46
王五 17 杨艳 3 英语 5 3 78
王五 17 周磊 4 物理 5 4 53
赵六 19 叶平 1 语文 6 1 35
赵六 19 贺高 2 数学 6 2 68
赵六 19 周磊 4 物理 6 4 71
+--------+------+--------+------+--------+------+------+-------+
21 rows in set (0.00 sec)
可以看出双百分号%%是全匹配,可以匹配表中的所有记录。那么,即便是NULL值也能够匹配吗?
答案是否定的:
mysql> select * from 4a;
+--------+------+--------+------+--------+------+------+-------+
sname sage tname t cname s c score
+--------+------+--------+------+--------+------+------+-------+
刘一 18 叶平 1 语文 1 1 56
刘一 18 贺高 2 数学 1 2 78
刘一 18 杨艳 3 英语 1 3 67
刘一 18 周磊 4 物理 1 4 58
钱二 19 叶平 1 语文 2 1 79
钱二 19 贺高 2 数学 2 2 81
钱二 19 杨艳 3 英语 2 3 92
钱二 19 周磊 4 物理 2 4 68
张三 17 叶平 1 语文 3 1 91
张三 17 贺高 2 数学 3 2 47
张三 17 杨艳 3 英语 3 3 88
张三 17 周磊 4 物理 3 4 56
李四 18 贺高 2 数学 4 2 88
李四 18 杨艳 3 英语 4 3 90
李四 18 周磊 4 物理 4 4 93
王五 17 叶平 1 语文 5 1 46
王五 17 杨艳 3 英语 5 3 78
王五 17 周磊 4 物理 5 4 53
赵六 19 叶平 1 语文 6 1 35
赵六 19 贺高 2 数学 6 2 68
赵六 19 周磊 4 物理 6 4 71
NULL NULL NULL NULL NULL NULL NULL 93
+--------+------+--------+------+--------+------+------+-------+
22 rows in set (0.05 sec)
7.distinct语句:
语法:select distinct 字段名 from 表名;
mysql> select distinct sname from 4a;
+--------+
sname
+--------+
刘一
钱二
张三
李四
王五
赵六
NULL
+--------+
mysql> select distinct sname, sage from 4a;
+--------+------+
sname sage
+--------+------+
刘一 18
钱二 19
张三 17
李四 18
王五 17
赵六 19
NULL NULL
+--------+------+
7 rows in set (0.00 sec)
mysql> select distinct sname, sage,tname from 4a;
+--------+------+--------+
sname sage tname
+--------+------+--------+
刘一 18 叶平
刘一 18 贺高
刘一 18 杨艳
刘一 18 周磊
钱二 19 叶平
钱二 19 贺高
钱二 19 杨艳
钱二 19 周磊
张三 17 叶平
张三 17 贺高
张三 17 杨艳
张三 17 周磊
李四 18 贺高
李四 18 杨艳
李四 18 周磊
王五 17 叶平
王五 17 杨艳
王五 17 周磊
赵六 19 叶平
赵六 19 贺高
赵六 19 周磊
NULL NULL NULL
+--------+------+--------+
22 rows in set (0.00 sec)
可以看出当作用于多列的时候distinct就不再返回唯一记录了。
另外distinct还可以和一些数学运算的函数一起使用:
mysql> select count(distinct sname) from 4a;
+-----------------------+
count(distinct sname)
+-----------------------+
6
+-----------------------+
1 row in set (0.08 sec)
mysql> select sum(distinct score) from 4a;
+---------------------+
sum(distinct score)
+---------------------+
1193
+---------------------+
1 row in set (0.06 sec)
mysql> select max(distinct score) from 4a;
+---------------------+
max(distinct score)
+---------------------+
93
+---------------------+
1 row in set (0.06 sec)
mysql> select min(distinct score) from 4a;
+---------------------+
min(distinct score)
+---------------------+
35
+---------------------+
1 row in set (0.00 sec)
mysql> select min(distinct score-1) from 4a;
+-----------------------+
min(distinct score-1)
+-----------------------+
34
+-----------------------+
1 row in set (0.08 sec)
例子太多就不一一列举了。
以上就是mysql实现条件限制语句的实例(二) 的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。