首页 > 解决方案 > 语法错误之类的问题 sql

问题描述

create table salesman(
salesman_id Numeric(5) primary key,
name varchar(30),
city varchar(15),
commission decimal(3,2)   
);

insert into salesman(salesman_id,name,city,commission)
values  
 (5001, "James Hoog", "New York", 0.15),
 (5002 , "Nail Knite" , "Paris" , 0.13),
 (5005 , "Pit Alex" , "London" , 0.11),
 (5006 , "Mc Lyon" , "Paris" , 0.14),
 (5007 , "Paul Adam" , "Rome" , 0.13),
 (5003 , "Lauson Hen" , "San Jose" , 0.12)
 ;

select name
from salesman
where city = any ("New York","London","Rome");

当一切似乎都正确时,为什么会出现错误 1064 我只想获取属于上述任何一个城市的推销员姓名。

标签: mysqlsqlsyntaxany

解决方案


错误 1064 是 MySQL 的语法错误。您的语法不正确,因为您不能在没有子查询的情况下使用 ANY 运算符。正确的语法是像这样使用 IN 运算符:

SELECT name FROM salesman WHERE city IN ('New York','London','Rome');

推荐阅读