我想知道是否可以从一个表中选择某些列,并从另一个表中选择与第一个表中的非导入列相关的另一列。我必须从访问中获取这些数据,并且不知道这是否可以使用Access或SQL。来自两个表的SQL语句
回答
假设下面的表结构:
CREATE TABLE tbl_1 (
pk_1 int,
field_1 varchar(25),
field_2 varchar(25)
);
CREATE TABLE tbl_2 (
pk_2 int,
fk_1 int,
field_3 varchar(25),
field_4 varchar(25)
);
您可以使用下列内容:
SELECT t1.field_1, t2.field_3
FROM tbl_1 t1
INNER JOIN tbl_2 t2 ON t1.pk_1 = t2.fk_1
WHERE t2.field_3 = "Some String"
至于比尔的帖子,有两种方法来创建SQL查询中使用JOIN的:
隐式 - 联接是使用 创建的,该段的WHERE子句使用多个表ERY在被指定的FROM子句
显 - 使用 适当类型JOIN子句的,创建加入 (INNER,LEFT,RIGHT,FULL)
始终建议您使用显式JOIN语法作为隐式联接可能会导致问题一旦查询变得更加复杂。例如,如果稍后向已在FROM子句中引用多个表的已使用隐式连接的查询添加显式连接,则FROM子句中引用的第一个表对于显式连接表将不可见。
主键和外键不是严格必要的。 – 2008-11-11 13:20:33
但建议(至少如果你问我;-) – okoman 2008-11-11 13:26:50
当然,我可以同意这一点。但你的答案中确实表示“需要”。 – 2008-11-11 13:53:15
我不是100%确定我理解你的问题。
以下为真:
您的第一张表是从其他地方导入的。 您只导入了一些列。 你想建立一个查询引用一个你还没有导入的列。
如果这是真的,这是不可能的。至于涉及非导入列的Access查询引擎不存在。
为什么不只是导入它们呢?
但主键使查询效率更高
- 1. 来自2个表的SQL select语句
- 2. 合并两个SQL SELECT语句返回来自两个不同表的值
- 3. 两个表的sql更新语句
- 4. 来自多个表的SQL语句组数据在一个下
- 5. SQL语句 - 更新两个表
- 6. SQL语句 - 比较两个表列
- 7. SQL SELECT从两个表(友谊)语句
- 8. 两个php Sql语句
- 9. 来自多个表的ORACLE SQL SELECT语句
- 10. 来自另一个表循环的SQL插入语句
- 11. Oracle SQL - 来自两条select语句的最大值
- 12. 显示来自两个SQL表的数据语法解释
- 13. 来自select语句的LINQ-to-SQL类
- 14. 来自select语句的SQL更新
- 15. Elasticsearch来自SQL语句的DSL查询
- 16. 来自两个表的sql总数
- 17. 来自两个表的sql查询
- 18. 来自两个表的数据SQL
- 19. 来自两个表的sql调用
- 20. SQL来自两个不同的表
- 21. 来自两个组的select语句的值合并为一个
- 22. 带两个不在的SQL语句
- 23. 结合两个具体的SQL语句
- 24. 一个或两个SQL case语句
- 25. 将两个SQL语句合并为一个语句
- 26. linq加入两个id与单个列表的SQL语句
- 27. 的Python 3.6 - 条件语句后读取来自两个列表行的值
- 28. 合并两个SQL SELECT语句
- 29. 结合两个While&sql语句
- 30. 加入两个选择语句SQL
内部加入将只选择在两个表中都匹配的记录。在某些情况下,左连接可能更好(http://www.devshed.com/c/a/MySQL/Understanding-SQL-Joins/) – Fionnuala 2008-11-11 13:40:26