Mysql入门在MySQL中使用子查询和标量子查询的基本 *** 作教程

Mysql入门在MySQL中使用子查询和标量子查询的基本 *** 作教程,第1张

概述介绍《Mysql入门在MySQL中使用子查询标量子查询的基本 *** 作教程》开发教程,希望对您有用。

《MysqL入门在MysqL中使用子查询和标量子查询的基本 *** 作教程》要点:
本文介绍了MysqL入门在MysqL中使用子查询和标量子查询的基本 *** 作教程,希望对您有用。如果有疑问,可以联系我们。

MysqL 子查询
子查询是将一个 SELECT 语句的查询结果作为中间结果,供另一个 sql 语句调用.MysqL 支持 sql 尺度要求的所有子查询格式和 *** 作,也扩展了特有的几种特性.
子查询没有固定的语法,一个子查询的例子如下:
MysqL学习

SELECT * FROM article WHERE uID IN(SELECT uID FROM user WHERE status=1)

对应的两个数据表如下:
article 文章表:
MysqL进修

MysqL进修

user 用户表:
MysqL进修

MysqL进修

查询返回成果如下所示:
MysqL学习

MysqL进修

在该例子中,首先通过子查询语句查询出所有 status=1 的 uID,实际的查询相似于:
MysqL学习

SELECT * FROM article WHERE uID IN(1,2)

MysqL 标量子查询
标量子查询是指子查询返回的是单一值的标量,如一个数字或一个字符串,也是子查询中最简单的返回情势.
一个标量子查询的例子如下:
MysqL学习

SELECT * FROM article WHERE uID = (SELECT uID FROM user WHERE status=1 ORDER BY uID DESC liMIT 1)

在该例子中,子查询语句:
MysqL进修

SELECT uID FROM user WHERE status = 1 ORDER BY uID DESC liMIT 1

返回的是单一的数字(如 2),现实的查询语句为:
MysqL学习

SELECT * FROM article WHERE uID = 2

使用子查询进行比拟
可以使用 = > < >= <= <> 这些 *** 作符对子查询的标量结果进行比拟,通常子查询的位置在比拟式的右侧:
MysqL学习

SELECT * FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2)

提示
对于采用这些 *** 作符之一进行的比拟,子查询必须返回一个标量.唯一的例外是 = 可以和行子查询同时使用.
子查询与表连接
在很多情况下,子查询的效果与 JOIN 表连接很类似,但一些特殊情况下,是必须用子查询而不能用表连接的,如:
MysqL学习

SELECT * FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2)

以及下例:
MysqL进修

SELECT * FROM article AS t WHERE 2 = (SELECT COUNT(*) FROM article WHERE article.uID = t.uID)

该例子要找出用户颁发了 2 篇文章的所有文章记录.对应的两个数据表如下:
article 文章表:
MysqL学习

MysqL进修

user 用户表:
MysqL进修

MysqL进修

查询返回成果如下所示:
MysqL学习

MysqL进修

欢迎参与《MysqL入门在MysqL中使用子查询和标量子查询的基本 *** 作教程》讨论,分享您的想法,内存溢出PHP学院为您提供专业教程。

总结

以上是内存溢出为你收集整理的Mysql入门在MySQL中使用子查询和标量子查询的基本 *** 作教程全部内容,希望文章能够帮你解决Mysql入门在MySQL中使用子查询和标量子查询的基本 *** 作教程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1155309.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存