MySQL--Select条件判断、in、not in、and、or、以及like匹配字符语句查询
1、创建用于查询的表格2、Select条件判断+and+in+not in3、Select语句--And+or4、Select语句--条件字符匹配like5、文末彩蛋--轻松一刻更多关于数据库知识请加关注哟~~。若需联系和想安装MySQL请加博主:
QQ:3327908431
微信:ZDSL1542334210
前言:select语句通俗易懂,但是每当它遇到冤家—条件判断、and、or、条件匹配的时候,就稍微绕点了,此处阁下是如何做的?不妨远程观战博主如何?
1、创建用于查询的表格
(1)学生信息表stu
create table stu (s_id varchar(3), s_name varchar(4),s_sex varchar(1),s_age int,s_bothday varchar(11));insert into stu values("001","李华","男",23,'1996-8-16'),("002","王二","男",24,'1997-3-16'),("003","赵敏","女",23,'1990-5-26'),("004","张莹莹","女",22,'1995-2-16'),("005","朱亚军","男",25,'1999-8-16'),("006","马科","男",28,'1993-12-16');
(2)学生成绩表scores
create table scores(s_id varchar(3),c_id varchar(2),score int);insert into scores values ("001","01",135),("005","01",120),("003","01",110),("002","01",90),("005","02",140),("001","02",125.5),("004","02",100),("006","02",90),("002","03",102),("005","03",100.6),("001","03",100),("003","03",95.6),("004","03",83),("003","02",80),("006","03",79.5);
2、Select条件判断+and+in+not in
此处依然采用例子的形式讲解
题目一:查找学生编号不为001和002的学生信息
分析:只需要筛选出学生编号不为001或者002即可,代码为:
select * from stu where s_id not in (001,002); #方法一select * from stu where s_id != 001 and s_id !=002; #方法二select * from stu where s_id not between 1 and 2; #方法三select * from stu where (s_id=001)+(s_id=002)=0; #方法四select * from stu where (s_id !=001)*(s_id !=002); #方法五# 003赵敏女231990-5-26# 004张莹莹女221995-2-16# 005朱亚军男251999-8-16# 006马科男281993-12-16
这里,in表示在里面;not in 表示不在里面;not between 1 and 2 表示不在第一条和第二条记录里面;(s_id=001)+(s_id=002)=0表示消除001和002两条记录;(s_id !=001)*(s_id !=002)表示和and同意。
3、Select语句–And+or
题目二:查询学生编号为001或者002的课程编号为01的成绩信息
select * from scores where s_id in (001,002) and c_id=01; #方法一select * from scores where (s_id =001 or s_id=002) and c_id =01; #方法二# 00101135# 000
这里,in (001,002) and c_id=01表示s_id是001或者002的同时c_id为01,还是那句话in(001,002)表示要么是001,要么是002,没有哪个s_id即是001又是002;(s_id =001 or s_id=002) and c_id =01表示s_id为001或者002的同时c_id=01。
4、Select语句–条件字符匹配like
题目三:查询名字中含有“亚”字的学生信息
select * from stu where s_name like '%亚%'; #法一# 005朱亚军男251999-8-16select * from stu where s_name like '_亚_'; #法二# 005朱亚军男251999-8-16
题目四:查询名字中含有“华”字的学生信息
select * from stu where s_name like '%华%';# 001李华男231996-8-16select * from stu where s_name like '_华_';# 不会输出结果,没有匹配到
这里,’%华%‘是匹配出名字里面带有’华’的名字,只要带有‘华’字,就匹配出来。而’-华-'是必须‘华’字旁边都存在字符,否则没法匹配。
5、文末彩蛋–轻松一刻
记得小学时候,我有一女同学叫晶晶,她特别羡慕我们班主任老师,特别喜欢与崇拜他,于是就暗恋这个老师,有一天她终於鼓起勇气,跟老师表白,老师一直开导他,说他这样不对等等,可是晶晶当时很倔强,就是不听,还说什麽爱情是不分年龄之类的话,最后老师受不了了。就说:“我不要小孩子啦!”,这时候只见晶晶露出一脸满足的笑容,说:“老师.我一定会很小心很小心的!?”。但是现在人晶晶呢住我们这栋楼,事实证明她当时很大意,因为和我们哪个班主任老师没成…就是这么个情况。
博友们好,今天到这里就结束啦每篇文章都有最后的文末彩蛋–轻松一刻哟感谢观看,我是Jetuser-data[学习更多MySQL知识请加关注]
链接: [/L1542334210]
CSND:L1542334210
祝大家工作顺利!阖家欢乐!
如果觉得《MySQL--Select条件判断 in not in and or 以及like匹配字符语句查询》对你有帮助,请点赞、收藏,并留下你的观点哦!