MySQL--Select条件判断、in、not in、and、or、以及like匹配字符语句查询

落日映苍穹つ 2023-08-17 15:39 164阅读 0赞

MySQL—Select条件判断、in、not in、and、or、以及like匹配字符语句查询

      • 1、创建用于查询的表格
      • 2、Select条件判断+and+in+not in
      • 3、Select语句—And+or
      • 4、Select语句—条件字符匹配like
      • 5、文末彩蛋—轻松一刻
  1. **更多关于数据库知识请加关注哟~~。若需联系和想安装MySQL请加博主:**
  2. **QQ:3327908431**
  3. **微信:ZDSL1542334210**
  4. 前言:select语句通俗易懂,但是每当它遇到冤家—条件判断、andor、条件匹配的时候,就稍微绕点了,此处阁下是如何做的?不妨远程观战博主如何?

1、创建用于查询的表格

(1)学生信息表stu

  1. create table stu (s_id varchar(3), s_name varchar(4),
  2. s_sex varchar(1),s_age int,s_bothday varchar(11));
  3. insert into stu values
  4. ("001","李华","男",23,'1996-8-16'),
  5. ("002","王二","男",24,'1997-3-16'),
  6. ("003","赵敏","女",23,'1990-5-26'),
  7. ("004","张莹莹","女",22,'1995-2-16'),
  8. ("005","朱亚军","男",25,'1999-8-16'),
  9. ("006","马科","男",28,'1993-12-16');

(2)学生成绩表scores

  1. create table scores(s_id varchar(3),
  2. c_id varchar(2),score int);
  3. insert into scores values
  4. ("001","01",135),
  5. ("005","01",120),
  6. ("003","01",110),
  7. ("002","01",90),
  8. ("005","02",140),
  9. ("001","02",125.5),
  10. ("004","02",100),
  11. ("006","02",90),
  12. ("002","03",102),
  13. ("005","03",100.6),
  14. ("001","03",100),
  15. ("003","03",95.6),
  16. ("004","03",83),
  17. ("003","02",80),
  18. ("006","03",79.5);

2、Select条件判断+and+in+not in

此处依然采用例子的形式讲解
题目一:查找学生编号不为001和002的学生信息
分析:只需要筛选出学生编号不为001或者002即可,代码为:

  1. select * from stu where s_id not in (001,002); #方法一
  2. select * from stu where s_id != 001 and s_id !=002; #方法二
  3. select * from stu where s_id not between 1 and 2; #方法三
  4. select * from stu where (s_id=001)+(s_id=002)=0; #方法四
  5. select * from stu where (s_id !=001)*(s_id !=002); #方法五
  6. # 003 赵敏 女 23 1990-5-26
  7. # 004 张莹莹 女 22 1995-2-16
  8. # 005 朱亚军 男 25 1999-8-16
  9. # 006 马科 男 28 1993-12-16
  10. 这里,in表示在里面;not in 表示不在里面;not between 1 and 2 表示不在第一条和第二条记录里面;(s\_id=001)+(s\_id=002)=0表示消除001002两条记录;(s\_id !=001)\*(s\_id !=002)表示和and同意。

3、Select语句–And+or

题目二:查询学生编号为001或者002的课程编号为01的成绩信息

  1. select * from scores where s_id in (001,002) and c_id=01; #方法一
  2. select * from scores where (s_id =001 or s_id=002) and c_id =01; #方法二
  3. # 001 01 135
  4. # 002 01 90
  5. 这里,in (001,002) and c\_id=01表示s\_id001或者002的同时c\_id01,还是那句话in(001,002)表示要么是001,要么是002,没有哪个s\_id即是001又是002;(s\_id =001 or s\_id=002) and c\_id =01表示s\_id001或者002的同时c\_id=01

4、Select语句–条件字符匹配like

题目三:查询名字中含有“亚”字的学生信息

  1. select * from stu where s_name like '%亚%'; #法一
  2. # 005 朱亚军 男 25 1999-8-16
  3. select * from stu where s_name like '_亚_'; #法二
  4. # 005 朱亚军 男 25 1999-8-16

题目四:查询名字中含有“华”字的学生信息

  1. select * from stu where s_name like '%华%';
  2. # 001 李华 男 23 1996-8-16
  3. select * from stu where s_name like '_华_';
  4. # 不会输出结果,没有匹配到
  5. 这里,’%华%‘是匹配出名字里面带有’华’的名字,只要带有‘华’字,就匹配出来。而’-华-'是必须‘华’字旁边都存在字符,否则没法匹配。

5、文末彩蛋–轻松一刻

  1. **记得小学时候,我有一女同学叫晶晶,她特别羡慕我们班主任老师,特别喜欢与崇拜他,于是就暗恋这个老师,有一天她终於鼓起勇气,跟老师表白,老师一直开导他,说他这样不对等等,可是晶晶当时很倔强,就是不听,还说什麽爱情是不分年龄之类的话,最后老师受不了了。就说:“我不要小孩子啦!”,这时候只见晶晶露出一脸满足的笑容,说:“老师.我一定会很小心很小心的!?”。但是现在人晶晶呢住我们这栋楼,事实证明她当时很大意,因为和我们哪个班主任老师没成…就是这么个情况。**
  2. **博友们好,今天到这里就结束啦每篇文章都有最后的文末彩蛋–轻松一刻哟感谢观看,我是Jetuser-data\[学习更多MySQL知识请加关注\]**

链接: [https://blog.csdn.net/L1542334210\]
CSND:L1542334210
在这里插入图片描述
祝大家工作顺利!阖家欢乐!

发表评论

表情:
评论列表 (有 0 条评论,164人围观)

还没有评论,来说两句吧...

相关阅读

    相关 js条件判断语句switch

    语法 1、switch后面写的是表达式 2、case后面的返回值代表的是表达式的返回值,当表达式的返回值与任意一个case后面的值相同,就会执行该case后面的代码段

    相关 like模糊多条件查询

    一: like 最基本的实现模糊匹配的语句,但一次只能匹配一种候选模式(like "%content%"),若要对多个候选进行模糊匹配,则需要写多次like,然后以or连