MySQL判定0值的方法mysql中判断是否为0

直接用 a = 0 判断。
2 008 年MySQL手册已明确支持。
例子:SELECT FROM orders WHERE quantity = 0;
记住:别用 IS NULL 处理0值。

mysql常用查询命令?

你这列出来的SQL语句,我当年刚上班那会儿也头疼。
那时候我在一家小公司做数据录入,老板突然让我帮他把客户数据整理一下,我就一头雾水。

记得那是2 01 5 年,公司用的是MySQL数据库。
老板说:“你把所有客户的姓名和订单号给我查出来。
” 我就写了个简单的 SELECT name, order_id FROM customers;,结果老板说不对,他说要重复的订单号去掉。
我又回去查资料,搞懂了 SELECT DISTINCT order_id FROM orders;,这下老板满意了。

后来老板又让筛选一下,只看2 01 6 年下单的客户。
我就在 WHERE 子句里加了个条件,写成了 SELECT name, order_id FROM customers WHERE order_date BETWEEN '2 01 6 -01 -01 ' AND '2 01 6 -1 2 -3 1 ';。
老板说好多了,但他又说:“你把结果按订单号降序排列。
” 我又加上 ORDER BY order_id DESC;,老板这才点头。

再后来,老板说要把客户表和订单表合并,显示客户姓名和订单号。
我那时候还不懂各种JOIN,就瞎试,最后发现 LEFT JOIN 最管用。
我就写成 SELECT c.name, o.order_id FROM customers c LEFT JOIN orders o ON c.id = o.customer_id;。
结果老板说这个好,说这样他就能知道每个客户下了哪些订单了。

对了,还有个事。
有一次老板让我统计一下每个客户的订单数量,我直接用了 COUNT(),结果老板说不对,说要把客户姓名也显示出来。
我就改成了 SELECT c.name, COUNT(o.id) AS order_count FROM customers c LEFT JOIN orders o ON c.id = o.customer_id GROUP BY c.name;。
老板一看,说这才对。

其实吧,这些SQL语句用多了也就习惯了。
就像当年我刚开始做数据录入,连数据库管理器都不会用,现在随便搞几个表就能写SQL了。
不过,你要是真不懂,就多练练,多试几次就明白了。
当年我就是对着电脑瞎敲,敲多了也就熟练了。

你要是有具体的问题,比如某个场景下怎么写SQL,我也可以跟你讲讲。
不过有些高级的,比如窗口函数啊,那些我确实没怎么用过,不敢乱讲。

MySQL中使用IF函数做条件判断的方法详解mysql中if怎么用

IF函数在MySQL里用着挺方便的,就是条件判断那一块儿。
它语法很简单,就是IF(condition,value_if_true,value_if_false)。
condition这块儿就是你的判断条件,value_if_true是条件成立时返回的值,value_if_false是条件不成立时返回的值。
MySQL看condition是真还是假,然后返回对应的值。

举个例子,假设有个表叫t,里面有个数字列叫num。
你想把num这个数字分成几类。
比如说,num大于等于8 0的算“优秀”,6 0到8 0的算“良好”,小于6 0的算“不及格”。
咋办呢?就用IF函数。

你可以这么写SQL语句:
sql SELECT num, IF(num >= 8 0, '优秀', IF(num >= 6 0, '良好', '不及格')) AS level FROM t;
你看,这里先判断num是不是大于等于8 0,如果是,就返回“优秀”。
如果不是,再判断num是不是大于等于6 0,如果是,就返回“良好”。
如果都不满足,就返回“不及格”。
最后用AS把结果命名为level。

再比如,你想在WHERE子句里用IF函数。
假设还是那个表t,里面有num1 和num2 两个数字列。
你想查num1 或者num2 其中有一个大于等于8 0的所有行。
咋写呢?
你可以这么写:
sql SELECT FROM t WHERE IF(num1 >= 8 0, 1 , 0) + IF(num2 >= 8 0, 1 , 0) > 0;
这里用了两个IF函数,一个判断num1 ,一个判断num2 如果num1 大于等于8 0,IF函数就返回1 ,否则返回0。
num2 也一样。
然后把这两个结果加起来,如果和大于0,说明num1 或者num2 至少有一个是大于等于8 0的,这一行就返回。

总的来说,IF函数在MySQL里用着挺顺手,特别是做简单的条件判断。
你在SELECT语句里可以用它来处理查询结果,在WHERE子句里也可以用它来做条件判断。
这么用起来就很灵活。