Metode alternatif 2

Meningkatkan Kinerja Kueri di SQL Server

Dean Smith

Founder, Atamai Analytics

INNER JOIN

SELECT c.CustomerID
      ,c.CompanyName
      ,o.OrderID
      ,o.OrderDate
      ,o.ShippedDate
      ,o.Freight
FROM Customers c
INNER JOIN Orders o
    ON c.CustomerID = o.CustomerID
CustomerID CompanyName OrderID ...
VINET Vins et alcools Chevalier 10248 ...
HANAR Hanari Carnes 10250 ...
VICTE Victuailles en stock 10251 ...
SUPRD Suprêmes délices 10252 ...
... ... ... ...
Meningkatkan Kinerja Kueri di SQL Server

LEFT OUTER JOIN

Inklusif LEFT OUTER JOIN

Diagram Venn Left Outer Join Inklusif

Eksklusif LEFT OUTER JOIN

Diagram Venn Left Outer Join Eksklusif

Meningkatkan Kinerja Kueri di SQL Server

LEFT OUTER JOIN eksklusif

SELECT c.CustomerID
      ,c.CompanyName
      ,o.OrderID
      ,o.OrderDate
      ,o.ShippedDate
      ,o.Freight
FROM Customers c
LEFT OUTER JOIN Orders o
    ON c.CustomerID = o.CustomerID
WHERE o.CustomerID IS NULL
CustomerID CompanyName OrderID ...
FISSA FISSA Fabrica Inter. Salchichas S.A. NULL ...
PARIS Paris spécialités NULL ...
Meningkatkan Kinerja Kueri di SQL Server

Ulasan: INTERSECT dan EXCEPT

INTERSECT: memeriksa keberadaan

EXCEPT: memeriksa ketiadaan

Kelebihan

  • Bagus untuk eksplorasi data
  • Menghapus duplikat dari hasil

Kekurangan

  • Jumlah dan urutan kolom di SELECT harus sama antar kueri
Meningkatkan Kinerja Kueri di SQL Server

Ulasan: EXISTS dan NOT EXISTS

EXISTS: memeriksa keberadaan

NOT EXISTS: memeriksa ketiadaan

Kelebihan

  • Subkueri berhenti saat bernilai TRUE
  • Hasil dapat berisi kolom apa pun dari kueri luar, dalam urutan apa pun

Kekurangan

  • Hasil hanya dapat berisi kolom dari kueri luar
Meningkatkan Kinerja Kueri di SQL Server

Ulasan: IN dan NOT IN

IN: memeriksa keberadaan

NOT IN: memeriksa ketiadaan

Kelebihan

  • Hasil dapat berisi kolom apa pun dari kueri luar, dalam urutan apa pun

Kekurangan

  • Hasil hanya dapat berisi kolom dari kueri luar
  • Tidak ada hasil karena cara NOT IN menangani null di subkueri
Meningkatkan Kinerja Kueri di SQL Server

Ulasan: INNER JOIN dan L.O.J eksklusif

INNER JOIN: memeriksa keberadaan

LEFT OUTER JOIN eksklusif: memeriksa ketiadaan

Kelebihan

  • Hasil dapat berisi kolom apa pun, dari semua kueri yang di-join, dalam urutan apa pun

Kekurangan

  • Perlu menambahkan kondisi filter WHERE IS NULL pada LEFT OUTER JOIN eksklusif
Meningkatkan Kinerja Kueri di SQL Server

Ayo berlatih!

Meningkatkan Kinerja Kueri di SQL Server

Preparing Video For Download...