我从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个MySQL表
- 5. MYSQL - 从2个表
- 6. 从2个表插入1个表
- 7. 需要从2个表
- 8. 需要从2个表
- 9. 为了从2个表
- 10. 比较从2个表
- 11. 比较从2个表
- 12. MySQL的一个从2个表
- 13. 和值从2列从2个表忽略结果等于0
- 14. 从2表2的ArrayList
- 15. MySQL - 从一个表格到2列的2个总和和2个WHERE语句
- 16. 从2个条件和2个操作的表中选择
- 17. 从2个表中合并2个同名的列s
- 18. SQL从2个表中选择条件
- 19. Postgesql从2个表中选择。加入?
- 20. 从3和表2个的外键
- 21. sql - 从2个表中搜索方法
- 22. MySQL的:从2个表比较
- 23. 帮助的查询 - 从2个表
- 24. 从2个mySQL表中获取数据
- 25. SQL服务器:创建从2个表
- 26. 仅选择1从2个表
- 27. 选择..哪里...或从2个表
- 28. 如何从2个访问表
- 29. 从2个表中删除记录
- 30. 从2个表,他们延长了行
发表您的查询...... – 2013-03-16 16:19:40