發布日期:Nov 30, 2020

文章於 Dec 21, 2020 更新

Select Data

原則

在決定查詢條件時,先確定報表撈取的目標(為了什麼目的-Why、想看到哪些欄位、如果有一對多的資料時誰該當主表)

  • Why 為了什麼目的?
  • Where 資料在哪些表( table )裡?
  • What 想看到哪些欄位?
  • Who
    • 是不是只要特定範圍的資料?(以「身份」作為限縮條件)
    • 誰要看?需求是什麼?
  • When 是不是只要特定範圍的資料?(以「時間」作為限縮條件)
  • How 決定 SQL , Subquery? Join?……?

注意事項

  • 如果有一對多的資料時誰該當主表?
    • 依照需求判斷,想要長出怎樣的表?
      • e.g. table A 對 table B 為一對多 ( table A 1–* table B )
      • 如果今天想看的是每筆 B 的 record 對應到 A 的資料,也就是「當 B 有 2 筆(b1,b2)、對應到一筆A資料(a1)時,總資料要有 2 筆」時,應該是這樣:
            SELECT *
            FROM table_B
            JOIN table_A
        
      • 相反的,如果只在乎能對應到任一 B record 的 table A 資料,會變成:
            SELECT *
            FROM table_A
            JOIN table_B
        

參考資料

這很基本,小心不要迷失自己!