我有一张名为'ELEMENTS'的桌子。在此查询中,应该有与ELEMENTS中的行一样多的结果。
ELEMENT表的数值与其他表中的文本值相对应。我画了这张有关系的照片。这些行表示相应的键,圆圈是我需要的文本值。
这是我的问题:
SELECT ELEMENTS.RID,
TAXONOMIES.SHORT_DESCRIPTION,
type,
ELEMENT_NAME,
ELEMENT_ID,
SUBSTITUTION_GROUPS.DESCRIPTION,
namespace_prefix,
datatype_localname
FROM ELEMENTS,SUBSTITUTION_GROUPS,TAXONOMIES,SCHEMAS,DATA_TYPES
WHERE
ELEMENTS.TAXONOMY_ID = TAXONOMIES.RID AND
ELEMENTS.SUBSTITUTION_GROUP_ID = SUBSTITUTION_GROUPS.RID AND
ELEMENTS.ELEMENT_SCHEMA_ID = SCHEMAS.RID AND
ELEMENTS.DATA_TYPE_ID = DATA_TYPES.RID
这给了我20个左右的记录,当时我应该有数千个。我查看了记录,但无法弄清楚它所显示的记录中的模式。
答案 0 :(得分:3)
据推测,您的尺寸为NULL或未完全填充。您可以使用left outer join
:
SELECT ELEMENTS.RID, TAXONOMIES.SHORT_DESCRIPTION, type, ELEMENT_NAME, ELEMENT_ID,
SUBSTITUTION_GROUPS.DESCRIPTION, namespace_prefix, datatype_localname
FROM ELEMENTS left outer join
SUBSTITUTION_GROUPS
on ELEMENTS.SUBSTITUTION_GROUP_ID = SUBSTITUTION_GROUPS.RID left outer join
TAXONOMIES
on ELEMENTS.TAXONOMY_ID = TAXONOMIES.RID left outer join
SCHEMAS
on ELEMENTS.ELEMENT_SCHEMA_ID = SCHEMAS.RID left outer join
DATA_TYPES
on ELEMENTS.DATA_TYPE_ID = DATA_TYPES.RID
如果您正在学习SQL,您应该学习: