查询的基本语法:
SELECT 列1…… FROM 表名
WHERE 表达式
GROUP BY 表达式
HAVING 表达式
ORDER BY 表达式
LIMIT 起始编号,查询条数
where型子查询:
IN:等于任何一个 。例: a=IN( c , d )等价于a=c or a=d
ALL:和子查询返回的所有值进行比较。例: a>ALL( c , d) 等价于 a>c && a>d
ANY:和子查询返回的任意一个值比较。例:a>ANY( c ,d ) 等价于 a>c or a>d
EXISTS:判断子查询是否有返回结果(不关心具体行数和内容),如果返回则为TRUE,
否则为FALSE。
ANY在使用中有如下三种使用形式:
=ANY:表示与子查询中的每个元素进行比较,功能与IN类似
(然而<>ANY不等价于NOT IN)
>ANY:比子查询中返回结果的最小的要大(还包含了>=ANY)
<ANY:比子查询中返回结果的最大的要小(还包含了<=ANY)
ALL操作符有以下三种用法:
<>ALL:等价于NOT IN(但是=ALL并不等价于IN)
>ALL:比子查询中最大的值还要大(还包含了>=ALL)
<ALL:比子查询中最小的值还要小(还包含了<=ALL)
from型子查询:
from型子查询即把内层sql语句查询的结果作为临时表供外层sql语句再次查询。