不积跬步,无以至千里,不积小流,无以成江海。学习就是慢慢积累的过程,请自学编程的朋友戒骄戒躁,脚踏实地的学习。今天老韩来讲一下like语句和union语句,一起来学吧。
一、like语句;
实际工作中数据索引的时候可能并不会给你明确指定要哪些数据,那么结合前面所讲的where字句就无法实现需求了,那就需要用模糊查询like语句了。一起先看例子数据,student表中的数据;
老韩需要看到所有姓王的同学信息,这个需求如何实现呢?请看实现SQL语句:select * from student where username like'王%'
查询结果可以看到符合我们的要求,SQL语句中的“like”就是模糊查询的意思,后面跟模糊查询的条件,“%”为通配符,表示任意个字符,可以有也可以没有。
老韩需求又变了,老韩要查询姓王并且名字为两个字的同学信息,这个需求如何实现呢?SQL语句:select * from student where username like'王_'
SQL语句中的“_”是下划线,不是“-”减号,不要搞错了,表示任意单个字符。
二、union、union all语句;
union和union all语句是将查询结果合并,
为了掩饰效果前面做演示的goods表又插入了多条数据;
将goods表复制一下,在重命名为另外一个表(结构和数据);
复制表
重命名
重命名为items之后再插入一条数据;
标准写法: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
结果;
union结果
请看SQL语句:select nub,goodsname,price,amount from items union all select nub,goodsname ,price,amount from goods
执行结果;
union all结果
从上面两个语句执行结果可以看出,两个数据集的列数要一致(数据类型可以不一样),上面的例子中都是四列,union返回两个数据集集合的并集,并且隐式的会给结果集排序,union all直接把两个集合拼凑到一起,不去重复项也不会排序,union会进行比较去重等运算,所以它的效率远不如union all。
like语句在实际应用中应用很广泛,比如一张表中某一类为手动输入内容,我要查询所有的内容包括“管理”字段的内容,就可以使用“%管理%”它表示只要包含管理字段即可,union偶尔也会用到,比如我要查看所有销售人员的客户信息,肯定要去重统计的数据才准确。
今天的内容就到这里,希望读者朋友能有所收获,如有问题可根据第一张图片找到老韩,老韩知无不答。