从外键获取SQL中的值
我目前正忙于SQL。我有两个具有以下列的表:从外键获取SQL中的值,sql,sqlite,Sql,Sqlite,我目前正忙于SQL。我有两个具有以下列的表: table "A": columns "_id", "B_id" and "type" table "B": columns "_id", "x", "y", "z" “_id”是行id。“B_id”是表B中某行(“_id”)的外键 现在我想得到表A中每一行的所有“类型”值以及表B中关联的x、y和z值 我可以通过以下方式获得表A中的所有行: SELECT type FROM A 目前,我在从B检索相应的x、y和z时遇到问题。如何才能做到这一点?
table "A": columns "_id", "B_id" and "type"
table "B": columns "_id", "x", "y", "z"
“_id”是行id。“B_id”是表B中某行(“_id”)的外键
现在我想得到表A中每一行的所有“类型”值以及表B中关联的x、y和z值
我可以通过以下方式获得表A中的所有行:
SELECT type FROM A
目前,我在从B检索相应的x、y和z时遇到问题。如何才能做到这一点?这将根据需要为您提供连接。然后只需添加所需的行
SELECT *
FROM A
JOIN b
on A.B_ID = B._id
这将根据需要为您提供连接。然后只需添加所需的行
SELECT *
FROM A
JOIN b
on A.B_ID = B._id
从A、B中选择A.type、B.x、B.y、B.z,其中A.B_id=B._id
或者使用更现代的联接语法:
从A.B_id=B.上的连接B中选择A.type、B.x、B.y、B.z.。_id
这是针对MySQL的,但应该适用于其他RDBMs。
从A,B中选择A.type,B.x,B.y,B.z,其中A.B_id=B._id
或者使用更现代的联接语法:
从A.B_id=B.上的连接B中选择A.type、B.x、B.y、B.z.。_id
这是针对MySQL的,但应该适用于其他RDBMs。用您正在使用的数据库标记您的问题,但问题的答案是使用
JOIN
。我建议使用JOIN
。用您正在使用的数据库标记您的问题,但是你的问题的答案是使用JOIN
。我建议使用JOIN
。不要教那种古老的隐式JOIN。。。切换到现代的显式JOIN
语法。更容易写(没有错误),更容易读(和维护),如果需要,更容易转换为外部连接。Thx,jarlh。我在答案中添加了连接。不要教那个古老的隐式连接。。。切换到现代的显式JOIN
语法。更容易写(没有错误),更容易读(和维护),如果需要,更容易转换为外部连接。Thx,jarlh。我在答案上加了JOIN。