开发者社区> 问答> 正文

尝试从一个表中检查另一个表中的数据

我对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中选择。非常感谢您的帮助,谢谢。

展开
收起
祖安文状元 2020-01-05 14:57:32 506 0
1 条回答
写回答
取消 提交回答
  • ELECT ColumnA FROM TableA
    WHERE ColumnA IN (SELECT ColumnB FROM TableB)
    
    

    或(最好这样做)

    SELECT TableA.ColumnA 
    FROM TableA 
    JOIN TableB ON TableA.ColumnA = TableB.ColumnB
    
    2020-01-05 14:57:46
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载