首页 > 解决方案 > 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”附近使用正确的语法

我不知道我做错了什么

标签: mysqlintersect

解决方案


mysql 不支持 INTERSECT 语法,试试这个:

 SELECT DISTINCT 
   name,sides 
FROM PlatonicForms
   INNER JOIN MorePlatonics USING(name,sides);

推荐阅读