从2个mySQL表中获取数据

时间:2016-03-03 09:38:09

标签: php mysql

所以 - 我正在尝试创建一个连接到现有数据库的脚本。有一个名为UserRole的表和一个名为Users的表。 UserRole包含UserID和RoleID。我可以选择UserRole中具有RoleID" 16"的所有用户。 (16 =管理员)。如何使用UserRole中的UserID访问Users表中的数据?

(注意 - 我对这整个PHP mySQL事情都是新手:D)

2 个答案:

答案 0 :(得分:0)

Divyesh Savaliya是正确的,但更喜欢使用JOIN:

SELECT u.*
FROM User u
INNER JOIN UserRole ur ON u.UserID = ur.UserID
WHERE ur.RoleID = 16;

我希望你不要在数据库表名和列中使用大写+小写。 更喜欢下划线。而且,首先指定" id"对于人们的快速解释更好。这样你就可以直接知道id的位置了。

最后但并非最不重要的是,它无法指定ID是否为外键。

示例:

SELECT u.*
FROM user u
INNER JOIN user_role ur ON u.id_user = ur.fk_id_user
WHERE ur.id_role = 16;

答案 1 :(得分:0)

SELECT *
FROM User 
LEFT JOIN UserRole 
ON User.userID = UserRole.userID Where RoleID= 16;