我正在使用mysql这是一个我很快写的查询,但我觉得这可以使用JOINS进行优化.这是btw的一个例子.
users table: id user_name first_name last_name email password 1 bobyxl Bob Cox bob@gmail.com pass player table id role player_name user_id server_id racial_name 3 0 boby123 1 2 Klingon 1 1 example 2 2 Race 2 0 boby2 1 1 Klingon
SQL
SELECT `player`.`server_id`,`player`.`id`,`player`.`player_name`,`player`.`racial_name` FROM `player`,`users` WHERE `users`.`id` = 1 and `users`.`id` = `player`.`user_id`
我知道我可以使用左连接,但有什么好处
SELECT `player`.`server_id`,`player`.`id`,`player`.`player_name`,`player`.`racial_name` FROM `player` LEFT JOIN `users` ON `users`.`id` = `player`.`user_id` WHERE `users`.`id` = 1
有什么好处,我得到了相同的结果以太方式.
您的查询中有一个JOIN.它与写作相同:
SELECT `player`.`server_id`,`player`.`id`,`player`.`player_name`,`player`.`racial_name`
FROM `player`
INNER JOIN `users` ON `users`.`id` = `player`.`user_id`
WHERE `users`.`id` = 1
您使用左连接的唯一原因是,即使您在用户表中没有匹配项,也希望从播放器表中获取数据.