如果我运行这个查询:
SELECT `Manga`.`id`, `Manga`.`name` FROM `mangas` AS `Manga` WHERE `Manga`.`id` in
(
SELECT `manga_id` FROM `mangas_genres` where `manga_id` = 1
)
我的电脑没有响应(我只是打错了)。它无法运行此查询。 上面的代码无效吗?请帮帮我。
我认为它是有效的,但它不能运行。我不明白。肯定是 MySQL,我在 MYSQL 工作台上运行查询(而不是在 PHP 中)我的计算机非常慢(运行查询时) 我的表格 mangas 和 mangas_genres 有超过 5000 行。
最佳答案
这是一个有效的查询,假设所有表名和列名都拼写正确。
CREATE TABLE mangas_genres (manga_id INT NOT NULL); INSERT INTO mangas_genres (manga_id) VALUES (1); CREATE TABLE mangas (id INT NOT NULL, name VARCHAR(100) NOT NULL); INSERT INTO mangas (id, name) VALUES (1, 'manga1'), (2, 'manga2'); SELECT `Manga`.`id`, `Manga`.`name` FROM `mangas` AS `Manga` WHERE `Manga`.`id` in ( SELECT `manga_id` FROM `mangas_genres` where `manga_id` = 1 )
结果:
id name 1 manga1
你的问题在别的地方。
关于sql - 问题 : mysql Subqueries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3380298/