MySQL的子查询中FROM和EXISTS子句的使用教程
FROM 子查询 SELECT ... FROM (subquery) AS name ... 子查询会生成一个临时表,由于 FROM 子句中的每个表必须有一个名称,因此 AS name 是必须的。FROM 子查询也称为衍生数据表子查询。 s1 s2 1 5 2 12 3 20 FROM 子查询 SQL 如下: s1 s2 2 24 3 40 提示 MySQL 子查询 EXISTS 和 NOT EXISTS SELECT ... FROM table WHERE EXISTS (subquery) 该语法可以理解为:将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE 或 FALSE)来决定主查询的数据结果是否得以保留。 user 用户表: 我们要查出 article 表中的数据,但要求 uid 必须在 user 表中存在。SQL 语句如下: SELECT * FROM article WHERE EXISTS (SELECT * FROM user WHERE article.uid = user.uid) 返回查询结果如下: 从语句执行结果可以看出,article 表中第 4 条记录没有被保留,原因就是该条记录的数据在子查询中返回的结果是 FALSE 。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |