我从LOG_TABLE user_id
changes
选择,但选择时,选择我想user_id
在USER_NAME表对应username
其中LOG_TABLE和USER_TABLE匹配的ID的。
Q
从2个表
-4
A
回答
3
我会在这里提供了一个额外的答案,因为你是刚刚起步。这个INNER JOIN代码将从LOG_TABLE中选择USER_TABLE中匹配的每一行。
SELECT l.id, l.changes, u.username
FROM LOG_TABLE l
INNER JOIN USER_TABLE u ON u.id = l.user_id
如果你想从LOG_TABLE进行选择,但真的不关心,如果它在USER_TABLE匹配与否,你可以做一个LEFT JOIN代替:
SELECT l.id, l.changes, u.username
FROM LOG_TABLE l
LEFT JOIN USER_TABLE u ON u.id = l.user_id
当编写一个JOIN ,明确说明您的JOIN关键字和条件总是一个好主意。如果使用隐式JOIN(在FROM子句之后列出的表格,用逗号分隔),如果意外省略了WHERE子句,则可能会产生生成笛卡尔积的风险。
案例的点,这里就是OP已经使用的问题逗号分隔的JOIN符号,并在不经意间创造了一个笛卡尔积:MySQL Query - Join Issues
+0
感谢,只是我需要什么 – kajab 2013-03-16 22:30:40
2
你想要的是一个JOIN。看看http://dev.mysql.com/doc/refman/5.0/en/join.html对于这个具体的例子,这样的事情是你想要什么:
SELECT l.changes, u.username
FROM LOG_TABLE l, USER_TABLE u
WHERE u.id=l.user_id
1
SELECT l.changes, u.username
FROM LOG_TABLE l
JOIN USER_TABLE u on u.id=l.user_id
相关问题
- 1. 从2个表
- 2. 从2个表
- 3. 从2个表
- 4. 从2个表
- 5. 从2个表
- 6. 从2个表
- 7. 从2个表
- 8. 从2个表
- 9. 从2个表
- 10. MySQL的2从2个表
- 11. SQL - 从2个表
- 12. 从2个链表
- 13. MYSQL - 从2个表
- 14. 从2个MySQL表
- 15. 从2个表插入1个表
- 16. mysql的2台,获得从2个表
- 17. 需要从2个表
- 18. 只显示从2个表
- 19. 如何从2个表
- 20. UPDATE/INSERT从2个表
- 21. 需要从2个表
- 22. UNION ALL和从2个表
- 23. 制作从2个表
- 24. 比较从2个表
- 25. 比较从2个表
- 26. 吨sql中从2个表
- 27. 为了从2个表
- 28. MYSQL |从两个表2
- 29. PDO选择从2个表
- 30. 如何从多2个表
发表您的查询...... – 2013-03-16 16:19:40