mysql中where条件查询

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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#进阶2:条件查询
/*
语法:
SELECT
    查询列表
FROM
    表名
WHERE
    筛选条件;
分类:
    一、按条件表达式筛选
    条件运算符:> < = <> >= <=
    二、按逻辑表达式筛选
    逻辑运算符:
    作用:用于连接条件表达式
                            && || !
              and or NOT
    三、模糊查询
        LIKE beween AND
    in
        is NULL
*/
#一、按条件表达式筛选
#案例1:查询工资大于12000
SELECT
    *
FROM
    employees
WHERE
    salary > 12000;
 
#案例2:查询部门标号不等于90号的员工名和部门编号
SELECT
    last_name,
    department_id
FROM
    employees
WHERE
    department_id <> 90;
 
#二、按逻辑表达式筛选
#案例1:查询工资在10000-20000之间的员工名、工资以及奖金
SELECT
    last_name,
    salary,
    commission_pct
FROM
    employees
WHERE
    salary >= 10000
AND salary <= 20000;
 
#案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息
SELECT
    *
FROM
    employees
WHERE
    NOT (
        department_id >= 90
        AND department_id <= 110
    )
OR salary >= 15000;
 
#三、模糊查询
/*
LIKE
特点:①一般和通配符搭配使用
通配符
% 任意多个字符,包含0个字符
_任意单个字符
BETWEEN AND
in
is NULL| IS NOT NULL
*/
#案例1:查询员工名中包含字符a 的员工信息
SELECT
    *
FROM
    employees
WHERE
    last_name LIKE '%a%';
 
#案例2:查询员工名中包含字符a的员工信息
SELECT
    last_name,
    salary
FROM
    employees
WHERE
    last_name LIKE '__n_l%';
 
#案例3:查询员工名中第二个字符为_的员工名
SELECT
    last_name
FROM
    employees
WHERE
    last_name LIKE '_\_%';
 
#---------------------------------------------
#2 between AND
/*
①使用between and可以提高语句的简洁度
 ②包含临界值
③两个临界值不要调换顺序*/
#案例4:查询员工标号在100到120之间的员工信息
SELECT
    *
FROM
    employees
WHERE
    employee_id BETWEEN 100
AND 120;
 
#3.IN
/*
含义:判断某字段的值是否属于in列表中 的某一项
特点:① 使用in提高语句简洁度
            ②in列表的值类型必须一致或兼容
*/
#案例:查询员工的公众编号是IT_PROG、AD_PRES中的一个员工名和工种编号
SELECT
    last_name,
    job_id
FROM
    employees
WHERE
    job_id IN (
        'IT_PROG',
        'AD_PRES',
        'AD_VP'
    );
 
#---------------------
#4.is NULL
#案例1.查询没有奖金的员工名和奖金率
SELECT
    last_name,
    commission_pct
FROM
    employees
WHERE
    commission_pct IS NULL

  

作者:Esofar

出处:https://www.cnblogs.com/deyo/p/13234107.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   自律即自由-  阅读(3000)  评论(1编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示