系列六 表达式与查询

  • 查询表达式
  • 带条件的查询
  • 范围查询
  • 模糊查询
  • 逻辑运算符查询
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
--SELECT 之后表示要查询的字段
--FROM 之后表示要查询的数据库和表的名称
--WHERE 之后表示要查询的记录的描述比较运算符<>=NULL、范围查询的两个关键字BETWEEN/IN、模糊查询LIKE、多条件查询AND /OR


#第二十六课时
--查询表达式完整形式
SELECT select_expr [,selext_expr...]
[
FROM table_refereces
[WHERE 条件]
[GROUP BY {col_name|position}[ASC|DESC],...分组]
[HAVING 条件 对分组结果进行二次筛选]
[ORDER BY {col_name|position}[ASC|DESC],...排序]
[LIMIT 限制显示条数]
]

--查询表达式完整形式
--每一个表达式表示想要的一列,必须至少有一列,多个列之间用逗号分隔
--*通配符,表示所有列,tbl_name.*可以表示某个表的所有列


--从特定表中选取特定的不同的字段值进行显示

SELECT * FROM cms_admin;

SELECT cms_admin.* FROM cms_admin;

SELECT id,username FROM cms_admin;

--表来自以哪个数据库中的表。
--从特定的数据库中选取特定的表的特定的字段db_name.tbl_name
SELECT id ,username,role FROM cms.cms_admin;
--字段来源于那张表
SELECT cms_admin.id,cms_admin.username,cms_admin.role FROM cms.cms_admin;
--给表别名来访问会更简单一些 AS可以省略
SELECT a.username,a.id FROM cms_admin AS a;
--给字段起别名
SELECT id AS '编号',username AS '用户名', role '角色' FROM cms_admin;
--当时别名是,显示的名称是别名
SELECT a.id AS id1,a.username AS u FROM cms_admin;


#第二十七课时
--带条件的查询,where条件的使用,比较运算符的使用

SELECT id ,uername,email FROM cms_user WHERE id = 1;
--使用<=>检测值是否为NULL,除此之外,与=用法相同
SELECT *FROM cms_admin WHERE age <=> NULL;
--使用is null或者IS NOT NULL
SELECT *FROM cms_admin WHERE age IS NULL;


#第二十八课时
--范围查询 BETWEEN NOT BETWEEN IN NOT IN
--查询编号在3-10之间的用户
SELECT *FROM cms_user WHERE id BETWEEN 3 AND 10;
--查询编号为1,3,5,7,9的数
SELECT * FROM cms_user WHERE id IN(1,3,5,7,9)
--查询ProID为1和3的用户
SELECT * FROM cms_user WHERE proID IN(1,3)
--查询用户名为king,queen,张三的记录,忽略英文的大小写
SELECT * FROM cms_user WHERE id IN('king','queen','张三')

#第二十九课时
--模糊查询LINKE/NOT LINKE
--%:代表另个一个或多个任意字符
--_:代表一个人任意字符
--查询姓张的用户

SELECT *FROM cms_user WHERE username LIKE '%张%';

--查询用户命中包含in的用户
SELECT * FROM cms_user WHERE username LIKE '%in%';

--查询用户名为三位的用户
SELECT * FROM cms_user WHERE username LIKE '____';

--_and%同时使用
SELECT * FROM cms_user WHERE username LIKE '_I%';


#第三十课时
--逻辑运算符与查询AND OR
--查询用户名为king,密码也为king
SELECT * FROM cms_user WHERE username = 'king' AND password = 'king';

--查询编号不大于三的变量年龄部位null的用户
SELECT * FROM cms_user WHERE id >= 3 AND age IS NOT NULL;

--查询编号在5~10之间的用户或用户名为4位的
SELECT * FROME cms_user WHERE id BETWEEN 5 AND 10 OR username LIKE '____';