mysql like 写法_老韩干货奉上mysql中的like和union(all)语句

不积跬步,无以至千里,不积小流,无以成江海。学习就是慢慢积累的过程,请自学编程的朋友戒骄戒躁,脚踏实地的学习。今天老韩来讲一下like语句和union语句,一起来学吧。

一、like语句;

实际工作中数据索引的时候可能并不会给你明确指定要哪些数据,那么结合前面所讲的where字句就无法实现需求了,那就需要用模糊查询like语句了。一起先看例子数据,student表中的数据;

fa7f79ab7f68c0a2d8ad019f320fbf81.png

老韩需要看到所有姓王的同学信息,这个需求如何实现呢?请看实现SQL语句:select * from student where username like'王%'

43f838fa436418f3348e3ac72c09782f.png

查询结果可以看到符合我们的要求,SQL语句中的“like”就是模糊查询的意思,后面跟模糊查询的条件,“%”为通配符,表示任意个字符,可以有也可以没有。

老韩需求又变了,老韩要查询姓王并且名字为两个字的同学信息,这个需求如何实现呢?SQL语句:select * from student where username like'王_'

40cfba6c1fb21b6c0861fffcf99d1021.png

SQL语句中的“_”是下划线,不是“-”减号,不要搞错了,表示任意单个字符。

二、union、union all语句;

union和union all语句是将查询结果合并,

为了掩饰效果前面做演示的goods表又插入了多条数据;

56ebb3dd6d24a7379f44b583a3df9a25.png

将goods表复制一下,在重命名为另外一个表(结构和数据);

1aad9ca8b5b986303a78dffa077263f1.png复制表

80ffe781d38c73b5fa3eab7236417654.png重命名

重命名为items之后再插入一条数据;

87f9bc4f50b88105eda36e99857d5230.png

标准写法:select 字段1,字段2,字段3…… from 表1 union select 字段1,字段2,字段3…… from 表2或者select 字段1,字段2,字段3…… from 表1 union all select 字段1,字段2,字段3…… from 表2

请看SQL语句:select nub,goodsname,price,amount from items union select nub,goodsname ,price,amount from goods

结果;

e90e2f276177cf67e36320539b56c65a.pngunion结果

请看SQL语句:select nub,goodsname,price,amount from items union all select nub,goodsname ,price,amount from goods

执行结果;

975f5992498cb4cbcadde092e34008c9.pngunion all结果

从上面两个语句执行结果可以看出,两个数据集的列数要一致(数据类型可以不一样),上面的例子中都是四列,union返回两个数据集集合的并集,并且隐式的会给结果集排序,union all直接把两个集合拼凑到一起,不去重复项也不会排序,union会进行比较去重等运算,所以它的效率远不如union all。

like语句在实际应用中应用很广泛,比如一张表中某一类为手动输入内容,我要查询所有的内容包括“管理”字段的内容,就可以使用“%管理%”它表示只要包含管理字段即可,union偶尔也会用到,比如我要查看所有销售人员的客户信息,肯定要去重统计的数据才准确。

今天的内容就到这里,希望读者朋友能有所收获,如有问题可根据第一张图片找到老韩,老韩知无不答。没有点击关注的朋友可以点一下关注,你们每一次的关注、转发、收藏都是老韩持续更新的动力,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值