mysql - 标量子查询

标签 mysql sql subquery

CREATE TABLE t1 (s1 INT, s2 CHAR(5) NOT NULL);
INSERT INTO t1 VALUES(100, 'abcde');
SELECT (SELECT s2 FROM t1);

当我在 MySql DB 中执行时,它给出语法错误,如 1065 选择语句未执行, 这是根据 MySql 调用标量子查询 点击链接获取更多信息 http://dev.mysql.com/doc/refman/5.1/en/scalar-subqueries.html

最佳答案

要返回标量值,您的子查询必须返回一行和一个字段。因此,您应该使用 WHERE 或使用 MySQL LIMIT 语句限制子查询中的行。例如:

SELECT (select s2 FROM t1 limit 1);

SQLFiddle example

关于mysql - 标量子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11877667/

相关文章:

mysql - SQL查询从多个表返回数据?

php - 如何处理数据库中项目列表的 "order"(php)

php - 选择行上方和下方的数据

java - 如何在 Ubuntu 上使用 MySQL 将 java.io.FilePermission 添加(读取)到 my/usr/share/java/mysql-connector-java.jar 中?

sql - 在 plpgsql 的触发函数中更新多列

mysql - 如何将选择子查询重构为联接?

PHP SUM 函数

sql - 带有图像字段的图片项的单独表格

mysql - MySQL 中的顺序对于谓词短路是否重要?

mysql - 子查询的 rand() 列针对 MySQL 5.7/8.0 与 MySQL 5.6 中的每个重复选择重新评估