2022年12月31日土曜日

SQLite3 INNER JOIN (内部結合)について

概要

INNER JOINの実行例。 なお、結合できなかった部分はnullになる。

実行例

user_id last_login 0001 2022-12-01 0002 2022-12-09 0003 2022-12-11 siteA_login user_id last_login 0001 2022-11-28 0003 2022-12-04 0004 2022-12-08 INNER JOIN siteB_login user_id A_last B_last 0001 2022-12-01 2022-11-28 0003 2022-12-11 2022-12-04
                    
select
    A.user_id
    , A.last_login
    , B.last_login
from
    siteA_login A
    inner join
        siteB_login B
        on
            A.user_id = B.user_id
;
                    
                
環境
  • Windows 10 64bit
  • SQLite3 (3.39.2) Command-Line Shell
                    
sqlite> .nullvalue [null]
sqlite> .mode box
sqlite> select * from siteA_login;
┌─────────┬────────────┐
│ user_id │ last_login │
├─────────┼────────────┤
│ 0001    │ 2022-12-01 │
│ 0002    │ 2022-12-09 │
│ 0003    │ 2022-12-11 │
└─────────┴────────────┘
sqlite> select * from siteB_login;
┌─────────┬────────────┐
│ user_id │ last_login │
├─────────┼────────────┤
│ 0001    │ 2022-11-28 │
│ 0003    │ 2022-12-04 │
│ 0004    │ 2022-12-08 │
└─────────┴────────────┘
sqlite> select
   ...>         A.user_id
   ...>         , A.last_login
   ...>         , B.last_login
   ...> from
   ...>         siteA_login A
   ...>         inner join
   ...>                 siteB_login B
   ...>                 on
   ...>                         A.user_id = B.user_id
   ...> ;
┌─────────┬────────────┬────────────┐
│ user_id │ last_login │ last_login │
├─────────┼────────────┼────────────┤
│ 0001    │ 2022-12-01 │ 2022-11-28 │
│ 0003    │ 2022-12-11 │ 2022-12-04 │
└─────────┴────────────┴────────────┘
                    
                

参考URL