mysql - 左连接与联合 [MYSQL]
问题描述
我有两个疑问。两者都工作正常:
SELECT * FROM newser t1 LEFT JOIN users t2 ON t1.userid = t2.usid WHERE t1.univer = '210310213053' LIMIT 1
第二个查询:
SELECT * FROM newser ORDER by RAND() LIMIT 8
联合这个:
SELECT * FROM newser WHERE univer = '210310213053' LIMIT 1) UNION (SELECT * FROM newser ORDER by RAND() LIMIT 8)
工作正常,但我想添加左连接:
(SELECT * FROM newser t1 LEFT JOIN users t2 ON t1.userid = t2.usid WHERE t1.univer = '210310213053' LIMIT 1) UNION (SELECT * FROM newser ORDER by RAND() LIMIT 8)
Dosent 工作... #1222 - 使用的 SELECT 语句具有不同的列数
你能帮我正确地做吗?
解决方案
在联合查询中尽量不要使用SELECT *
,键入您要选择的列,因为将来您可能会在这些表中添加新列,这样查询就会崩溃
推荐阅读
- android - 即使 java gradle 工具链设置为 jdk 11,Gradle 也使用 Java 1.8 构建 android 项目
- mongodb - MERN堆栈,Mongodb用这个值更新所有嵌入的文档数组,如果它们有一定的值
- node.js - node js发现特殊字符的问题
- reactjs - 我的反应代码没有出现在浏览器中
- python - Qiskit 中的 Jupyter Notebook 命令失败
- html - 在导航栏中添加图像和文本之间的间距 - 引导
- mysql - 你可以在mysql中创建一个带有点的表吗?
- dynamics-365 - 如何自定义 Dynamics 365 模型驱动应用的顶部导航
- excel - Excel - 如何在 B 列中计数,不包括 A 列中的重复值?
- java - 具有通用属性的 Java 枚举