需要一些关于外键的帮助并选择

时间:2017-01-06 18:00:49

标签: mysql

我有2个如下图所示的滑石:

CREATE TABLE topics (
   topic_id INT(11) NOT NULL AUTO INCREMENT PRIMARY KEY,
   topic_category INT(11) NOT NULL,
   topic_title VARCHAR(60) NOT NULL,
   topic_content TEXT NOT NULL
);

CREATE TABLE categories(
   category_id INT(11) NOT NULL AUTO INCREMENT PRIMARY KEY,
   category_name VARCHAR(30) NOT NULL
);

然后,我使用了一个外键,所以我可以将topic_category与'categories'表中的一个类别链接起来。

ALTER TABLE topics ADD FOREIGN KEY(topic_category) REFERENCES categories(category_id) ON DELETE CASCADE ON UPDATE CASCADE;

我的问题是,如何选择我所选择的所有主题?我已经尝试了下面的代码,它工作正常:

SELECT * FROM topics WHERE topic_category = 2

有没有办法根据category_name而不是category_id使用类似的东西进行选择? (我知道它完全错了):

SELECT * FROM topics WHERE category_name = 'Technology' ;

1 个答案:

答案 0 :(得分:0)

您可以使用简单的联接:

SELECT * 
FROM topics t
INNER JOIN categories c
   ON t.topic_category=c.category_id
WHERE category_name = 'Technology' ;