·ALL、ANY和SOME子查询
any和all的操作符常见用法是结合一个相对比较操作符对一个数据列子查询的结果进行测试。它们测试比较值是否与子查询所返回的全部或一部分值匹配。比方说,如果比较值小于或等于子查询所返回的每一个值,<=all将是true,只要比较值小于或等于子查询所返回的任何一个值,<=any将是true。some是any的一个同义词。
例:检索最早出生的总统
·EXISTS和NOT EXISTS子查询
EXISTS和NOT EXISTS操作符只测试某个子查询是否返回了数据行。如果是,EXISTS将是true,NOT EXISTS将是false。
·把子查询改成连接查询
①SELECT * FROM table1
WHERE column1 IN(SELECT column2a FROM table2 WHERE column2b = value);
这类查询可以被转换为如下所示的连接查询
SELECT
table1.* FROM table1 INNER JOIN table2
ON
table1.column1 = table2.column2a WHERE table2.column2b = value;
②如果子查询语句有如如下所示的形式
SELECT *
FROM table1
WHERE
column1 NOT IN (SELECT column2 FROM table2);
就可以把它改写为下面这样的联结查询
SELECT
table1.*
FROM
table1 LEFT JOIN table2 ON table1.column1 = table2.column2
WHERE
table2.cloumn2 IS NULL.
如果想查看某个InnoDB数据表都有哪些外键关系,可以使用SHOW CREATE TABLE或SHOW TABLE STATUS。
如果在视图创建一个带有外键关系的数据表时遇到问题,可以使用SHOW ENGINE INNODB
STATUS语句查看完整的出错信息。
- 大小: 5.3 KB
分享到:
相关推荐
MySQL学习笔记——“语法总结”
mysql的学习笔记——mysql的核心概念、使用到哪些技术、以及实现。
20200207学习笔记
MySQL笔记
MySQL学习笔记
Mybatis 学习笔记——原生DAO实现数据增删改查SQL:https://blog.csdn.net/qq_24598601/article/details/83037252
Spring MVC Ibatis Bean 根据mysql数据表——代码生成工具
Talend学习笔记2——mysql文件导入到HDFS
1. ExcelVBA操作MySQL之一——...13. ExcelVBA操作MySQL之十三——生成数据透视表 14. ExcelVBA操作MySQL之十四——AppendChunk、 GetChunk存取文本和图片二进制数据 15. ExcelVBA操作MySQL之十五——使用ADODB.Stream
mysql学习笔记mysql学习笔记mysql学习笔记mysql学习笔记
Mysql学习笔记1
mysql学习笔记
非常详细的某培训机构mysql学习笔记,内容系统全面,实用性强 MySQL1 MySQL基础 MySQ单实例部署 MySQL多实例部署 MySQL数据库操作 MySQL数据类型 MySQL存储引擎 MySQL表操作 MySQL2 MySQL数据操作 MySQL单...