如何在短语中找到特定的单词?

时间:2016-11-19 13:24:47

标签: sql oracle

我想知道如何在短语中找到特定的单词。我想找到" Pizza"在一组关键字中,但没有关键字只有" Pizza"。有关键词如" Pizza Delivery"和#34;比萨饼送货员#34;但他们不会出现!我怎么能这样做?

期望的输出:

MOVIE                               KEYWORD                         
----------------------------------- ----------------------------------
Drive Angry                         Waitress                                                                                            
Taken                               France                                                                                              
Saving Private Ryan                 France
30 Minutes or Less                  Pizza Delivery
30 Minutes or Less                  Pizza Delivery Boy      

我的剧本:

SELECT MovieTitle AS "MOVIE", KEYWORDDESC AS "KEYWORD"
FROM TBLMOVIE
JOIN TBLKEYWORDDETAIL ON TBLMOVIE.MOVIEID = TBLKEYWORDDETAIL.MOVIEID
JOIN TBLKEYWORD ON TBLKEYWORDDETAIL.KEYWORDID = TBLKEYWORD.KEYWORDID
WHERE TBLKEYWORD.KEYWORDDESC IN ('France', 'Waitress', 'Pizza');

我的输出:

MOVIE                               KEYWORD                         
----------------------------------- ----------------------------------
Drive Angry                         Waitress                                                                                            
Taken                               France                                                                                              
Saving Private Ryan                 France                                                                                              

1 个答案:

答案 0 :(得分:1)

一种方法使用LIKE

WHERE TBLKEYWORD.KEYWORDDESC LIKE '%France%' OR
      TBLKEYWORD.KEYWORDDESC LIKE '%Waitress%' OR
      TBLKEYWORD.KEYWORDDESC LIKE '%Pizza%'

另一种方法使用REGEXP_LIKE()

WHERE REGEXP_LIKE(TBLKEYWORD.KEYWORDDESC, 'France|Waitress|Pizza')

如果你使用REGEXP_LIKE(),你应该花一点时间学习正则表达式以及如何使用它们。