继上文查询相关语句的一些案例

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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#安全等于:<=>
#案例:查询没有奖金的员工名和奖金率
SELECT
    last_name,
    commission_pct
FROM
    employees
WHERE
    commission_pct <=> NULL;
 
#案例2:查询工资为12000的员工信息
SELECT
    last_name,
    salary
FROM
    employees
WHERE
    salary <=> 12000;
 
# is null pk <=>
/*
IS NULL:紧紧可以判断null值,可读性较高,建议使用
<=>:既可以判断null值,又可以判断普通的数值,可读性较低
*/
#测试
#1.查询工资大于12000的员工姓名和工资
SELECT
    salary
FROM
    employees
WHERE
    salary > 12000;
 
#2.查询员工号为176的员工的姓名和部门号和年薪
SELECT
    last_name,
    department_id,
    salary * 12 * (1 + IFNULL(commission_pct, 0)) AS 年薪
FROM
    employees;
 
#3.选择工资不在5000到12000的员工的姓名和工资
SELECT
    first_name,
    last_name,
    salary
FROM
    employees
WHERE
    NOT (salary < 5000 AND salary > 12000);
 
#----------------------------------------------------
SELECT
    first_name,
    last_name,
    salary
FROM
    employees
WHERE
    salary NOT BETWEEN 5000
AND 12000;
 
#4.选择在20或50号部门工作的员工姓名和部门号
SELECT
    first_name,
    last_name,
    department_id
FROM
    employees
WHERE
    department_id = 20
OR department_id = 50;
 
#5.选择公司中没有管理者的员工姓名及job_id
SELECT
    first_name,
    last_name,
    job_id
FROM
    employees
WHERE
    manager_id IS NULL;
 
#6.选择公司中有奖金的员工姓名、工资和奖金级别
SELECT
    first_name,
    last_name,
    salary,
    commission_pct
FROM
    employees
WHERE
    commission_pct <> 'NULL' #7.选择员工姓名的第三个字母是a的员工姓名
    SELECT
        last_name
    FROM
        employees
    WHERE
        last_name LIKE '__a%';
 
#8.选择姓名中有字母a和c的员工姓名
SELECT
    last_name
FROM
    employees
WHERE
    last_name LIKE '%a%'
AND last_name LIKE '%c%';
 
#9.显示出来表中first_name以'e'结尾的员工信息
SELECT
    first_name
FROM
    employees
WHERE
    first_name LIKE '%e';
 
#10.显示出部门编号在80-100之间的姓名、职位
SELECT
    first_name,
    last_name
FROM
    employees
WHERE
    department_id BETWEEN 80
AND 100;
 
#11.显示manager_id是100,101,110的员工姓名、职位
SELECT
    first_name,
    last_name,
    job_title
FROM
    employees
JOIN jobs
WHERE
    manager_id = 100
OR manager_id = 101
OR manager_id = 110;
 
#查询没有奖金,且工资小鱼18000的salary,last_name
SELECT
    salary,
    last_name
FROM
    employees
WHERE
    commission_pct IS NULL
AND salary < 18000;
 
#查询表中job_id不为'it'或者工资为12000的员工信息
SELECT
    *
FROM
    employees
WHERE
    job_id <> 'IT'
OR salary = 12000;
 
#查看部门deparments表的结构
DESC departments;
 
#查询部门departments表中设计到了那些位置编号
SELECT DISTINCT
    location_id
FROM
    departments;

  

作者:Esofar

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

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

posted @   自律即自由-  阅读(184)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示