我是一名sql-beginner,我很难弄清楚它是怎么回事。 说我有一张简单的表:
column 1 column2 column3
AA AAAA TT
AA BB EE
AB C AABBCC
ABC XXX XYZ
AABB YYY A
现在我试图找到所有匹配的列,例如'AA%'导致:
column 1 column2 column3
**AA** **AAAA** null
**AA** null null
null null *AABBCC*
null null null
**AABB** null null
可以通过一个简单的查询吗?我的想法是从工会或临时表开始,但我不能让它工作。抱歉这个简单的初学者问题,并提前感谢!
从样本d1中选择d1.column1,d1.column2,d1.column3,其中d1.column1类似'AA%' 联盟 从样本d2中选择d2.column1,d2.column2,d2.column3,其中d2.column2类似'AA%' 联盟 从样本d3中选择d3.column1,d3.column2,d3.column3,其中d3.column3类似'AA%'
答案 0 :(得分:1)
您可以直接使用OR关键字:
SELECT column1, column2, column3
FROM sample
WHERE column1 like 'AA%'
OR column2 like 'AA%'
OR column3 like 'AA%'
答案 1 :(得分:0)
你的联合查询也是正确的bt在简单的情况下我同意或者查询
答案 2 :(得分:0)
对于 PostgreSQL,有 ANY 或 ALL:
WHERE col LIKE ANY( subselect )
或
WHERE col LIKE ALL( subselect )
其中子选择只返回一列数据。