我是靠谱客的博主 落寞学姐,最近开发中收集的这篇文章主要介绍列值为null相关知识,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

39. View the Exhibit and examine the description of the PRODUCT_INFORMATION table.
Which SQL statement would retrieve(检索) from the table the number of products having LIST_PRICE as NULL?(求值为null的行数)
比较null值用is NULL,任何NULL不等于其他NULL,使用count(列名)会忽略列中值为NULL的行,count(*)返回记录数,NULL也算一条记录
A. SELECT COUNT(list_price)
FROM product_information
WHERE list_price IS NULL
解释: COUNT(list_price)返回list_price不为NULL的个数
B. SELECT COUNT(list_price)
FROM product_information
WHERE list_price = NULL
解释: 值为NULL写作is NULL,不可写为= NULL
C. SELECT COUNT(NVL(list_price, 0))(right)
FROM product_information
WHERE list_price IS NULL
解释: nvl(arg,value)代表如果前面的arg的值为null那么返回的值为后面的value
D. SELECT COUNT(DISTINCT list_price)
FROM product_information
WHERE list_price IS NULL

解释: DISTINCT是去除重复的关键字,不管有没有DISTINCT关键字,count()都返回不是null的个数,


以上信息来自:http://hz.togogo.net/BrainJam/wenxian/2013/0507/676.html



看一个例子:

SQL> select EMPLOYEE_ID, MANAGER_ID ,COMMISSION_PCt from hr.employees;
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
198
124
199
124
200
101
201
100
202
201
203
101
204
101
205
101
206
205
100
101
100
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
102
100
103
102
104
103
105
103
106
103
107
103
108
101
109
108
110
108
111
108
112
108
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
113
108
114
100
115
114
116
114
117
114
118
114
119
114
120
100
121
100
122
100
123
100
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
124
100
125
120
126
120
127
120
128
120
129
121
130
121
131
121
132
121
133
122
134
122
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
135
122
136
122
137
123
138
123
139
123
140
123
141
124
142
124
143
124
144
124
145
100
.4
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
146
100
.3
147
100
.3
148
100
.3
149
100
.2
150
145
.3
151
145
.25
152
145
.25
153
145
.2
154
145
.2
155
145
.15
156
146
.35
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
157
146
.35
158
146
.35
159
146
.3
160
146
.3
161
146
.25
162
147
.25
163
147
.15
164
147
.1
165
147
.1
166
147
.1
167
147
.1
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
168
148
.25
169
148
.2
170
148
.2
171
148
.15
172
148
.15
173
148
.1
174
149
.3
175
149
.25
176
149
.2
177
149
.2
178
149
.15
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
179
149
.1
180
120
181
120
182
120
183
120
184
121
185
121
186
121
187
121
188
122
189
122
EMPLOYEE_ID MANAGER_ID COMMISSION_PCT
----------- ---------- --------------
190
122
191
122
192
123
193
123
194
123
195
123
196
124
197
124
107 rows selected.
SQL> SELECT COUNT(NVL(COMMISSION_PCT, 0)) FROM hr.employees
2
where COMMISSION_PCT is null;
COUNT(NVL(COMMISSION_PCT,0))
----------------------------
72
SQL> SELECT COUNT(DISTINCT COMMISSION_PCT) FROM hr.employees
2
where COMMISSION_PCT is null; <span style="color:#ff0000;">//因为每个null都不相等</span>
COUNT(DISTINCTCOMMISSION_PCT)
-----------------------------
0
SQL> SELECT COUNT( COMMISSION_PCT) FROM hr.employees
2
where COMMISSION_PCT is null;
COUNT(COMMISSION_PCT)
---------------------
0 //<span style="font-family: 宋体; line-height: 24px; "><span style="color:#ff0000;">使用count(列名)会忽略列中值为NULL的行</span></span>




 

最后

以上就是落寞学姐为你收集整理的列值为null相关知识的全部内容,希望文章能够帮你解决列值为null相关知识所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部