如何通过几个id从多个表中执行选择

i have 3 tables that looks like this:

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 |
+------------+--------------+

how do i build query that select all data from the 3 tables that meat the statement that go's something like pseudo code:

select all data from game_table and prize_table and sponser_table where   game_table.sponser_id = 2 and game_table.prize_id = 2 

i tried something like this :

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 ; 

but it gave me no good results .

You had a WHERE clause to limit to the correct ids, but you had no join conditions to relate your tables. Instead of the implicit join syntax you attempted (comma-separated table list), use a explicit JOINs with stated relating columns:

SELECT
  game_list.*, 
  prize_list.* ,
  sponser_list.* 
FROM 
  game_list
  JOIN prize_list ON game_list.prize_id = prize_list.prize_id
  JOIN sponser_list ON game_list.sponser_id = sponser_list.sponser_id
WHERE game_list.sponser_id=2  And  game_list.prize_id = 2 And game_list.game_id=2 ;

I would recommend against selecting all columns from each table though, since you are duplicating the id columns in at least two places. Instead, be explicit about the columns you want. This will also help you if you later add additional columns to these tables that should not be included in this query.

SELECT
  game_id,
  game_title,
  game_list.sponser_id,
  game_expiration_date,
  game_list.prize_id,
  prize_image_name,
  prize_cost,
  prize_title,
  remaining_quantity,
  prize_description,
  sponser_name    
FROM 
  game_list
  JOIN prize_list ON game_list.prize_id = prize_list.prize_id
  JOIN sponser_list ON game_list.sponser_id = sponser_list.sponser_id
WHERE game_list.sponser_id=2  And  game_list.prize_id = 2 And game_list.game_id=2 ;
SELECT 
  game_list.*, prize_list.* ,sponser_list.* 
FROM game_list
JOIN prize_list ON game_list.prize_id = prize_list.prize_id
JOIN sponser_list ON game_list.sponser_id = sponser_list.sponser_id
WHERE 
  game_list.sponser_id=2  And  game_list.prize_id = 2 And game_list.game_id=2 ; 

From your description it appears that the tables may be related. If they are, you need to use a join, like this:

SELECT *
FROM game_table g
LEFT OUTER JOIN prize_table p ON p.prize_id=g.prize_id
LEFT OUTER JOIN sponser_table s ON s.sponser_id=g.sponser_id
WHERE g.game_id=2
SELECT *
FROM game_table
JOIN prize_table USING (prize_id)
JOIN sponser_table USING (sponser_id)
WHERE sponser_id = 2
AND prize_id = 2
AND game_id = 2