sql - 问题 : mysql Subqueries

标签 sql mysql

如果我运行这个查询:

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/

相关文章:

python - MySQL cur.execute with 格式

sql - 在 SSMS 中为常量 CHAR(1) 创建非 NULL 计算列

php - 数组值在查询中不起作用

mysql - 如何以 15 分钟的间隔从多个表中提取值?

python - Psycopg2 单引号异常

mysql - 使用 LEFT JOIN 的表标识符

MYSQL 从重复条目中获取最高值

mysql - MySQL 中的多个多对多关系场景

mysql - 重新安装 wampserver 后无法使用数据库表

php - 如何将PHP中数据库的多列求和为一个结果?那可能吗?