我对SQL非常陌生,并以某种方式找到了需要我进行SQL的工作(不要躺在简历中)。无论如何,我正在尝试执行SELECT语句,在这里我想在tableA中选择一个columnA,其中ColumnA中的单词存在于另一个tableB中,下面是我要实现的示例。
TableA, ColumnA : {Apple, Ball, Chair, Doll, Egg, Fan, Gun, Hat, Ink, Jug}
TableB, ColumnB : {Chair, Ball, Egg, Ink}
所以我试图提出我想要的声明如下
SELECT ColumnA FROM TableA
WHERE ColumnA = (SELECT ColumnB FROM TableB)
OR
SELECT ColumnA FROM TableA
WHERE ColumnA LIKE '%' + (SELECT ColumnB FROM TableB) + '%'
当然,它不起作用,因为它将返回多个值。我在这方面还是一个新手,无法弄清楚如何使用CURSOR等功能。非常感谢您的帮助。谢谢。
(编辑):所以从答案来看,同时使用IN和JOIN都可以解决我所需要的。非常感谢你。但是,我也想知道我需要使用LIKE的情况,假设columnA和columnB具有
ColumnA : {'This apple is red', 'This ball is round', 'This chair is metal'}
ColumnB : {'red', 'round'}
所以我想显示columnA中具有colu
m```
nB中存在的关键字的数据。我在想唯一的方法是组合通配符并从columnB中选择。非常感谢您的帮助,谢谢。
ELECT ColumnA FROM TableA
WHERE ColumnA IN (SELECT ColumnB FROM TableB)
或(最好这样做)
SELECT TableA.ColumnA
FROM TableA
JOIN TableB ON TableA.ColumnA = TableB.ColumnB
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。