MySQL语法如何实现数据子查询?

2024年04月17日 建站教程

MySQL​子查询是MySQL中的SELECT语句,其中一个查询嵌套在另一个查询中。子查询可用于SELECT、WHERE、HAVING和FROM子句中。

基本语法如下:

sql
SELECT ...
FROM ...
WHERE column operator (
  SELECT ...
)

利用SELECT语法使用子查询:

sql
SELECT *, (SELECT col FROM table2 WHERE ...) AS col 
FROM table1;

利用WHERE语法使用子查询进行过滤:

sql 
SELECT * FROM table1
WHERE col IN (SELECT col FROM table2 WHERE ...);

利用HAVING语法使用子查询进行过滤:

sql
SELECT col, COUNT(*) AS num 
FROM table1
GROUP BY col
HAVING num > (SELECT COUNT(*) FROM table2 WHERE ...);

利用FROM语法使用子查询进行过滤:

sql
SELECT * 
FROM (SELECT * FROM table1 WHERE ...) AS t1, 
  table2
WHERE t1.col = table2.col;

本文链接:http://so.lmcjl.com/news/2379/

展开阅读全文