如何使用 SQL 在数据库中查找特定的名称或单词?

How to use SQL to find specific names or words in a database?

我正在使用来自 Reddit 的数据数据库。我想找到名称以“covid”或“corona”开头且描述在任何地方都包含“covid”的所有 subreddits 的名称和描述。然后我想输出一个包含两列的 table:名称和描述。

到目前为止,我已经尝试过这个 SQL 代码:

select 
    subreddit AS name,
    subreddit AS description
    from
    subreddit
    where subr_description like "%covid%" "%corona%";
   

当我执行时,我得到 table 的输出,其中包含适当的列:名称和描述,但它们是空的,没有数据。

如何让 table 的正确列填充正确的数据?

您似乎需要调整您选择的列名称而不是 subreddit AS x 两次。我不确定您是否有一个名为 subreddit 的列,但它似乎也是 table 名称,这令人困惑。

然后你可以调整WHERE中的逻辑来检查你的两个条件:

SELECT
    subreddit AS name,
    subr_description AS description
FROM
    subreddit
WHERE
    -- name starts with covid or corona ("text%")
    (subreddit LIKE "covid%" OR subreddit LIKE "corona%")
    -- description contains covid ("%text%")
    AND subr_description LIKE "%covid%"