假設我有一個名為“myTable”的表:
columnA| columnB| columnC
1 | Yellow| Apple
3 | Red | Grape
8 | Blue | Banana
6 | Green | Orange
上表是用于演示目的的實際表的簡化。想象一下實際的表是 100K 行。現在,我只想選擇 columnB 在串列/陣列中的行:ex - ['Red', 'Blue', 'Green']。我不確定在這里使用正確的語法。
SELECT * FROM myTable WHERE columnB IN Array['Red', 'Blue', 'Green']
實作此目的的正確語法是什么?
uj5u.com熱心網友回復:
這是示例,我相信它適用于 MS SQL
SELECT p.FirstName, p.LastName, e.JobTitle
FROM Person.Person AS p
JOIN HumanResources.Employee AS e
ON p.BusinessEntityID = e.BusinessEntityID
WHERE e.JobTitle IN ('Design Engineer', 'Tool Designer', 'Marketing Assistant');
uj5u.com熱心網友回復:
在 Postgres 中,您也可以使用陣列,包括= ANY ():
SELECT * FROM myTable WHERE columnB = ANY (ARRAY['Red', 'Blue', 'Green']);
或者使用文字陣列常量作為輸入:
SELECT * FROM myTable WHERE columnB = ANY ('{Red, Blue, Green}'::text[]);
它相當于:
SELECT * FROM myTable WHERE columnB IN ('Red', 'Blue', 'Green');
有關的:
- PostgreSQL 中的 IN 與 ANY 運算子
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/382259.html
標籤:sql 数组 PostgreSQL的 where子句
上一篇:按名稱屬性動態資訊列出計數陣列
