在关系数据库中组合表结果



好吧,首先让我明确一点:我在SQL和数据库方面非常弱(我的意思是除了几个简单的语句之外(,但事实证明我必须处理一些SQLite数据库,所以我想我需要你在这个查询上的帮助(对于比我更熟悉SQL的人来说,这个查询应该非常简单…(:

我有两张表:

TOKENTYPES
TOKENTYPE_ID  TOKENTYPE_NAME
1             nameA
2             nameB
3             nameC
TOKENS
TOKEN_ID TOKENTYPE_ID TOKEN_NAME
1        2            tokA
2        2            tokB
3        3            tokC

我所知道的:

  • 通过SELECT TOKENTYPE_ID,TOKEN_NAME FROM TOKENS,我可以从TOKENS获得所有(TOKENTYPE_ID,TOKEN_NAME(对
  • 通过SELECT TOKENTYPE_NAME FROM TOKENTYPES WHERE TOKENTYPE_ID=2,我可以获得特定令牌ID的Name

现在,问题是:

如何将这两个查询"组合"起来,得到一个具有TOKENTYPE_NAMETOKEN_NAME的表?


编辑:

期望结果:

TOKEN_NAME TOKENTYPE_NAME
tokA       nameB
tokB       nameB
tokC       nameC
SELECT tt.TOKENTYPE_NAME, t.TOKEN_NAME 
FROM TOKENS AS t
JOIN TOKENTYPES AS tt
    ON tt.TOKENTYPE_ID = t.TOKENTYPE_ID
SELECT  a.Token_Name,
        b.TokenType_Name
FROM    Tokens  a
        INNER JOIN TokenTypes b
            ON a.TokenType_ID = b.TokenType_ID
  • SQLFiddle演示

要进一步了解加入,请访问以下链接:

  • SQL联接的可视化表示

结果

╔════════════╦════════════════╗
║ TOKEN_NAME ║ TOKENTYPE_NAME ║
╠════════════╬════════════════╣
║ tokA       ║ nameB          ║
║ tokB       ║ nameB          ║
║ tokC       ║ nameC          ║
╚════════════╩════════════════╝

最新更新