Semua tentang join

Meningkatkan Performa Kueri di PostgreSQL

Amy McCarty

Instructor

Gambaran kursus

  • Struktur query, termasuk join, subquery, dan tabel sementara
  • Membatasi dan mengagregasi data
  • Properti penyimpanan basis data dan alat optimasi
  • Perencanaan dan eksekusi query
Meningkatkan Performa Kueri di PostgreSQL

Perencana query

Query

  • Instruksi SQL

Pelayan restoran

Rencana eksekusi query

  • Langkah aktual

Beberapa koki di sekitar panci besar

Meningkatkan Performa Kueri di PostgreSQL

Perencana query

Pelayan membawa makanan

Pelayan membawa minuman

Meningkatkan Performa Kueri di PostgreSQL

 

Apa itu join?

  • Menggabungkan beberapa tabel
Meningkatkan Performa Kueri di PostgreSQL

 

Apa itu join?

  • Menggabungkan beberapa tabel

Mengapa menggunakan join?

  • Melihat data referensi
  • Menggabungkan data

Bagaimana?

  • Inner dan outer

 

ID Penjualan Tgl Pesanan Jumlah No. Pelanggan
01 2019-02-02 145.30 911

 

ID Nama Pelanggan Sejak
911 Jim Smith 2019-01-01

 

ID Penjualan Tgl Pesanan Jumlah Nama
01 2019-02-02 145.30 Jim Smith
Meningkatkan Performa Kueri di PostgreSQL

Inner join

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209

SELECT *
FROM athletes a
INNER JOIN countries c
ON a.country = c.country

 

 

 

Atlet Kode Kode1 Nama Pop (juta)
Jack AUT AUT Austria 9
Aditya IND IND India 1.339
Mikhail RUS RUS Rusia 145
Meningkatkan Performa Kueri di PostgreSQL

Inner join

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Baris terakhir tebal. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209. Baris terakhir tebal.

SELECT *
FROM athletes a
INNER JOIN countries c
ON a.country = c.country

 

 

 

Atlet Kode Kode1 Nama Pop (juta)
Jack AUT AUT Austria 9
Aditya IND IND India 1.339
Mikhail RUS RUS Rusia 145
Meningkatkan Performa Kueri di PostgreSQL

Inner join dengan USING

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209

SELECT *
FROM athletes
INNER JOIN countries
USING (country)

 

 

 

Atlet Kode Nama Pop (juta)
Jack AUT Austria 9
Aditya IND India 1.339
Mikhail RUS Rusia 145
Meningkatkan Performa Kueri di PostgreSQL

Inner join dengan USING

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Baris terakhir tebal. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209. Baris terakhir tebal.

SELECT *
FROM athletes
INNER JOIN countries
USING (country)

 

 

 

Atlet Kode Nama Pop (juta)
Jack AUT Austria 9
Aditya IND India 1.339
Mikhail RUS Rusia 145
Meningkatkan Performa Kueri di PostgreSQL

Left outer join

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209

SELECT *
FROM athletes a
LEFT JOIN countries c
ON a.country = c.country

 

 

Atlet Kode Kode1 Nama Pop (juta)
Jack AUT AUT Austria 9
Aditya IND IND India 1.339
Mikhail RUS RUS Rusia 145
Javier MEX
Meningkatkan Performa Kueri di PostgreSQL

Left outer join

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209. Baris terakhir tebal.

SELECT *
FROM athletes a
LEFT JOIN countries c
ON a.country = c.country

 

 

Atlet Kode Kode1 Nama Pop (juta)
Jack AUT AUT Austria 9
Aditya IND IND India 1.339
Mikhail RUS RUS Rusia 145
Javier MEX
Meningkatkan Performa Kueri di PostgreSQL

Right outer join

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209

SELECT *
FROM athletes a
RIGHT JOIN countries c
ON a.country = c.country

 

 

Atlet Kode Kode1 Nama Pop (juta)
Jack AUT AUT Austria 9
Aditya IND IND India 1.339
Mikhail RUS RUS Rusia 145
BRA Brasil 209
Meningkatkan Performa Kueri di PostgreSQL

Right outer join

Tabel atlet dengan empat data: atlet dan negara. Jack - AUT. Aditya - IND. Mikhail - RUS. Javier - MEX. Baris terakhir tebal. Tabel negara dengan empat data: kode negara, nama, populasi (juta). AUT - Austria - 9. IND - India - 1.339. RUS - Rusia - 145. BRA - Brasil - 209.

SELECT *
FROM athletes a
RIGHT JOIN countries c
ON a.country = c.country

 

 

Atlet Kode Kode1 Nama Pop (juta)
Jack AUT AUT Austria 9
Aditya IND IND India 1.339
Mikhail RUS RUS Rusia 145
BRA Brasil 209
Meningkatkan Performa Kueri di PostgreSQL

Full outer join

SELECT *
FROM athletes a
FULL OUTER JOIN countries c
ON a.country = c.country
  • Rencana (eksekusi) query

Beberapa koki di sekitar panci besar

  • Membatasi perencana query
Nama Atlet Kode Kode1 Nama Pop (juta)
Jack AUT AUT Austria 9
Aditya IND IND India 1.339
Mikhail RUS RUS Rusia 145
Javier MEX
BRA Brasil 209
Meningkatkan Performa Kueri di PostgreSQL

Ayo berlatih!

Meningkatkan Performa Kueri di PostgreSQL

Preparing Video For Download...