mysql - 语法错误之类的问题 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 我只想获取属于上述任何一个城市的推销员姓名。
解决方案
错误 1064 是 MySQL 的语法错误。您的语法不正确,因为您不能在没有子查询的情况下使用 ANY 运算符。正确的语法是像这样使用 IN 运算符:
SELECT name FROM salesman WHERE city IN ('New York','London','Rome');
推荐阅读
- mysql - 无法在codeigniter mysql中对带有日期标题的行进行排序
- xamarin.forms - ADB0000 快速开发目录创建失败
- android - Android Studio:永远下载builder-3.4.2.jar
- python - 如何将字符串转换为数组并加入sql中的另一个表
- angular - 单例的动态提供程序 - Angular 7
- javascript - 仅接受输入文件字段中的有限图像(示例 5 图像)
- c# - 使用 Azure RBAC 进行角色管理
- .htaccess - 如何禁用访问 .php 和 .html 并重定向到 404
- python - 如何从 twitter 用户名列表中获取自我报告的位置信息?
- android - android.view.InflateException:Binary XML file line #17: Error inflating class fragment