我有3个表,看起来像这样执行从多个表中选择:如何通过几个IDS
game_table
+---------+------------+------------+----------------------+----------+
| game_id | game_title | sponser_id | game expiration date | prize_id |
+---------+------------+------------+----------------------+----------+
prize_table
+----------+---------------------------+------------+-------------+--------------------+--------------------------------------------+
| prize_id | prize_image_name | prize_cost | prize_title | remaining_quantity | prize_description |
+----------+---------------------------+------------+-------------+--------------------+--------------------------------------------+
sponser_table
+------------+--------------+
| sponser_id | sponser_name |
+------------+--------------+
如何建立查询选择从3个表中的所有数据 肉去的东西的声明像伪代码:
select all data from game_table and prize_table and sponser_table where game_table.sponser_id = 2 and game_table.prize_id = 2
我想是这样的:
SELECT game_list.*, prize_list.* ,sponser_list.* FROM game_list, prize_list,sponser_list
WHERE game_list.sponser_id=2 And game_list.prize_id = 2 And game_list.game_id=2 ;
,但它没有给我带来好的结果。
为什么要使用一个左外连接? – Romain
问题中的信息不足以确定游戏是否必须同时拥有赞助商和奖品。如果没有奖品或赞助商,内部加入可能会隐藏游戏行,这可能会让开发人员对RDBMS感到困惑。这就是为什么我建议使用外连接。 – dasblinkenlight
我会假设所有三个表中都有数据,并且出于性能方面的原因使用内部联接,然后可能会添加一条评论,说如果某些表不能有相关数据,应该使用外部联接。由于OP在每个表格上都提到了一个过滤器,所以我会假设所有的数据都会有数据。 – Romain