SQL查询语句为:SELECT * FROM tb_score WHERE grade> ANY(SELECT grade FROM tb_score WHERE sID=1);

文章插图

文章插图
- 带ALL关键字的子查询
- 带EXISTS关键字的子查询

文章插图
- 带IN关键字的子查询
查询学生语文成绩:SELECT sID,grade FROM tb_score WHERE cID IN (SELECT id FROM tb_course WHERE name='语文');

文章插图
查询2班学生的所有成绩:SELECT sID,cID,grade FROM tb_score WHERE sID IN (SELECT id FROM tb_student WHERE classID=2);

文章插图
合并查询
利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集 。合并时两个表对应的列数和数据类型必须相同 。各个SELECT语句之间使用UNION或UNION ALL关键字分隔 。UNION不使用关键字ALL执行时,删除重复记录,所有返回行都是唯一的;使用关键字ALL的作用是不删除重复行也不对结果进行自动排序 。
如查询1号课程且大于80分和4号学生的成绩:SELECT sID,grade FROM tb_score WHERE grade>80 AND cID=1 UNION SELECT sID,grade FROM tb_score WHERE sID=4;SELECT sID,grade FROM tb_score WHERE grade>80 AND cID=1 UNION ALL SELECT sID,grade FROM tb_score WHERE sID=4;

文章插图

文章插图
正则表达式
正则表达式通常被用来检索或替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊字符串 。例如从一个文本文件中提取电话号码,查找一篇文章中重复淡出或者替换用户输入的某些敏感词语等等,这些地方都可以使用正则表达式 。MySQL中使用REGEXP关键字指定正则表达式的字符串匹配模式,如下表列出了REGEXP操作符中常用匹配列表 。

文章插图
选择学生表中information列中首字母为z的行:SELECT * FROM tb_student WHERE information REGEXP '^z';

文章插图
其它正则表达式的举例略,大家可以根据自己需求自行设计 。
推荐阅读
- mysql 数据分析如何实现日报、周报、月报和年报?
- MySQL 触发器
- ThinkPHP 5.0添加mysql存session驱动
- 将Php-fpm docker容器与Mongo DB docker容器连接
- 公司如何选择数据库?DynamoDB、Hadoop和MongoDB 大比拼
- Mysql 为什么要选择 B+Tree
- Mysql通讯协议分析
- 分享mysql配置文件my.cnf一键生成器
- Mysql中ACID的原理?
- 站长之家百度关键词数据库的更新对SEO有什么影响
