我可以很容易地做到:
select * from cities where name in ('Paris', 'London');
但是我还可以选择包含列组合的行吗?
select * from cities where city, country in (('Paris', 'France'), ('London', 'UK'))
答案 0 :(得分:3)
是的,但您必须使用括号:
select * from cities where (city, country) in (('Paris', 'France'), ('London', 'UK'))
语法是“复合值”的语法。请参阅manual:
复合值的外部文本表示由根据各个字段类型的I / O转换规则解释的项目以及指示复合结构的装饰组成。装饰由围绕整个值的括号((和))以及相邻项之间的逗号(,)组成。