如何使用 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%"
我正在使用来自 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%"