mysql - SQL 交集错误 ERROR 1064 (42000):
问题描述
create table PlatonicForms (name varchar(20), sides integer(3));
create table Colors (hex varchar(6), color varchar(20));
create table MorePlatonics (name varchar(20), sides integer(3));
create table ShapesColors(color varchar(20), shape varchar(20));
我正在尝试使用这个相交
SELECT *
FROM PlatonicForms
INTERSECT
SELECT *
FROM MorePlatonics;
但我得到这个错误
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的“SELECT * FROM MorePlatonics”附近使用正确的语法
我不知道我做错了什么
解决方案
mysql 不支持 INTERSECT 语法,试试这个:
SELECT DISTINCT
name,sides
FROM PlatonicForms
INNER JOIN MorePlatonics USING(name,sides);
推荐阅读
- sql-server - Windows + IIS + mssql 服务器上的 Redmine 安装
- python - 如何获取当前的 QApplication?
- php - 为我的 woocommerce 网站创建一个移动应用程序
- c# - 如何避免日期落在特定日期范围内
- php - 如何使用 where 子句获取范围之间的值
- php - 如何发送 smtp 邮件?
- xml - 如何定义 XML XSD 类型来描述“double”的子集,不包括“NaN”、“positiveInfinity”、“negativeInfinity”
- mysql - 完整表的 SQL 转储
- android - Google 云平台和 Firebase 推送通知定价和限制
- centos - "yum install tcltls" 在 centOS 上给出错误 "No package tcltls available"