我正在努力使用mysql查询,我想创建一个包含多个表的查询,并且能够一次搜索所有三个表中的列或特定列,已经创建并填充了数据库和表。 (对不起,如果这很容易,但我在mysql上相当新)
示例:
表1
`ID`,`number`,`name`,`genre`,`location`,`type`
1, 1001, Linkin Park, Rock, L001, cd
2, 1002, 3 doors down, Alternative, L002, cd
3, 1003, golden earring, Rock, L003, cd
表2
`ID`,`number`,`name`,`genre`,`location`,`type`
1, 1001, Kill bill, Action, L001, dvd
2, 1002, Hulk, Action, L002, dvd
3, 1003, Driven, Action, L003, dvd
表2
`ID`,`number`,`name`,`genre`,`location`,`type`
1, 1001, Call of Duty, Action, L001, Game
2, 1002, Battlefield, Action, L002, Game
3, 1003, Red Alert, strategy, L003, Game
类似的东西:
SELECT 'number', 'name', 'genre', 'location', 'type' FROM tb1, tb2, tb3 WHERE type = 'Game'
答案 0 :(得分:1)
您可以实现所需目标的一种方法是制作所有表格的UNION
,如下所示:
SELECT `number`, `name`, `genre`, `location`, `type` FROM
( SELECT `number`, `name`, `genre`, `location`, `type` FROM tb1
UNION ALL
SELECT `number`, `name`, `genre`, `location`, `type` FROM tb2
UNION ALL
SELECT `number`, `name`, `genre`, `location`, `type` FROM tb3 ) tb123
WHERE tb123.`type` = 'Game'
但我实际上建议您考虑以不同方式设置数据库。例如,将所有内容放在一个表中。