Inner join 5 tabel mysql

Masalah. Cantumkan semua pesanan, diurutkan berdasarkan nomor pesanan, dengan nama pemasok, nama produk, jumlah, harga

PRODUCTIdProductNameSupplierIdUnitPricePackageIsDiscontinuedORDERITEMIdOrderIdProductIdUnitPriceQuantityORDERIdOrderDateOrderNumberCustomerIdTotalAmount

Saat bekerja dengan database, Anda mungkin perlu mengumpulkan data dari beberapa tabel berbeda. Artikel ini akan menunjukkan caranya

Saya sudah menulis tentang gabungan SQL di sini dan di sini, tetapi mari luangkan waktu sejenak untuk meninjau cara kerja gabungan terlebih dahulu, dan khususnya sintaks khusus untuk MySQL

Pernyataan Gabung SQL

Gabungan adalah pernyataan yang memungkinkan Anda menyusun dua tabel, mencocokkan baris yang terkait satu sama lain, dan mempertahankan hanya baris yang dapat dicocokkan, bukan mempertahankan baris yang tidak berpasangan

SELECT * FROM table1 
  INNER JOIN table2
  ON table1.id = table2.id;
Pernyataan INNER JOIN Generik antara dua tabel

Pernyataan SELECT .. FROM_ menunjukkan mana yang merupakan tabel pertama, kemudian nama tabel kedua ditulis tepat setelah kata kunci INNER JOIN

Bagaimana dua tabel harus digabungkan ditulis dalam pernyataan ON. Dalam hal ini kedua tabel digabungkan menggunakan hubungan table1.id = table2.id

Dimungkinkan untuk menggunakan beberapa pernyataan gabungan secara bersamaan untuk menggabungkan lebih dari satu tabel secara bersamaan

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
_Pernyataan INNER JOIN Generik antara tiga tabel

Untuk melakukannya, tambahkan pernyataan INNER JOIN kedua dan pernyataan ON kedua untuk menunjukkan tabel ketiga dan hubungan kedua

Mari kita bicara sejenak tentang hubungan yang bisa Anda miliki di antara tabel dan mengapa Anda mungkin ingin menggabungkan tiga tabel bersama

Relasi Antar Tabel di SQL

Saat Anda memiliki tabel yang terkait satu sama lain, hubungan mereka bisa menjadi salah satu dari berbagai jenis

satu-ke-banyak

Dalam jenis hubungan satu-ke-banyak, satu baris dari tabel pertama dapat dikaitkan dengan beberapa baris dari tabel kedua.

Dalam database relasional ini dapat diimplementasikan dengan tabel kedua yang memiliki first_table_id kolom yang menyatakan baris mana dari tabel pertama yang terkait dengan baris tersebut

Inner join 5 tabel mysql

banyak-ke-satu

Dalam jenis hubungan banyak-ke-satu, satu baris dari tabel pertama dapat dikaitkan dengan satu baris tunggal dari tabel kedua, dan satu baris dari tabel kedua dapat dikaitkan dengan beberapa baris dari tabel pertama.

Dalam database relasional ini dapat diimplementasikan dengan tabel pertama yang memiliki

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
0 kolom yang mengatakan baris mana dari tabel kedua yang terkait dengan baris tersebut

Inner join 5 tabel mysql
Banyak-ke-satu

banyak ke banyak

Dalam hal ini beberapa baris terkait dengan beberapa baris

Inner join 5 tabel mysql
Banyak ke banyak

Jenis hubungan ini tidak dapat direpresentasikan seperti dengan tabel SQL – Anda perlu menambahkan tabel penggandengan di antara dua tabel sehingga hanya hubungan banyak ke satu dan satu ke banyak yang ada di antara tabel

Setiap baris tabel di tengah mewakili satu hubungan antara baris tabel kiri dan baris tabel kanan

Inner join 5 tabel mysql

Dalam praktiknya di MySQL, tabel tengah itu akan memiliki kolom untuk first_table_id dan kolom untuk

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
0, dengan setiap kombinasi unik

Bergabung dengan Tabel SQL dalam Praktek

Bayangkan kita memiliki database organisasi, di mana kita memiliki tabel dengan tim (nama mereka, dan info pengenal lainnya), dan tabel dengan proyek (nama, progres, dan sebagainya)

idteam_namespecialty1Pelempar PisangPisang2Penggerogoti kayuMenggerogoti kayu3Gajah Merah MudaMenginjak tanah4Kentang empukBekerja dan tiduridproject_nameprogress1Pembangunan bendunganDiperlukan lagi menggerogoti kayu dan menginjak tanah2Kue PisangSeseorang memakan semua pisang3Penelitian tidurTerlalu banyak tidur tidak cukup penelitian

Karena sebuah tim dapat mengerjakan banyak proyek, dan sebuah proyek dapat dikerjakan oleh banyak tim, ada juga tabel ketiga yang melacak pertandingan tim-proyek

project_idgroup_id12132131323334

Kita dapat menggunakan pernyataan

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
3 untuk menyatukan semuanya saat kita perlu melihat info dari tabel dengan cara yang dapat dibaca manusia, seperti ini

SELECT
  teams.team_name AS team_name,
  projects.project_name AS project_name
FROM TABLE teams
INNER JOIN matches
  ON teams.id = matches.team_id
INNER JOIN matches
  ON matches.project_id = projects.id
ORDER BY teams.id;

Kami memilih kolom mana yang akan ditampilkan dari setiap tabel dengan pernyataan

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
4

Kami menentukan bagaimana baris tabel digabungkan dengan pernyataan ON

Dan kami mengurutkan baris sesuai keinginan kami dengan pernyataan

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
6

Pernyataan ON_

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
8 dan
SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
9 berarti bahwa baris digabungkan menggunakan baris dari tabel
SELECT
  teams.team_name AS team_name,
  projects.project_name AS project_name
FROM TABLE teams
INNER JOIN matches
  ON teams.id = matches.team_id
INNER JOIN matches
  ON matches.project_id = projects.id
ORDER BY teams.id;
0. Setiap baris dari tabel keluaran memiliki nama proyek dan nama tim yang digabungkan menggunakan pasangan id proyek dan id tim di tabel
SELECT
  teams.team_name AS team_name,
  projects.project_name AS project_name
FROM TABLE teams
INNER JOIN matches
  ON teams.id = matches.team_id
INNER JOIN matches
  ON matches.project_id = projects.id
ORDER BY teams.id;
0

Tabel output akan terlihat seperti di bawah ini

Team_nameProject_nameBanana ThrowersBanana CakeBanana ThrowersSleep ResearchWood gnawersDam BuldingWood gnawersSleep ResearchThe Pink ElephantsBangunan BendunganGajah Merah MudaBangunan BendunganKentang FluffyPenelitian Tidur

Tidak ada kolom langsung dari tabel

SELECT
  teams.team_name AS team_name,
  projects.project_name AS project_name
FROM TABLE teams
INNER JOIN matches
  ON teams.id = matches.team_id
INNER JOIN matches
  ON matches.project_id = projects.id
ORDER BY teams.id;
0. Tabel
SELECT
  teams.team_name AS team_name,
  projects.project_name AS project_name
FROM TABLE teams
INNER JOIN matches
  ON teams.id = matches.team_id
INNER JOIN matches
  ON matches.project_id = projects.id
ORDER BY teams.id;
_0 tidak ditampilkan dalam output tetapi digunakan sebagai petunjuk cara menggabungkan baris tabel
SELECT
  teams.team_name AS team_name,
  projects.project_name AS project_name
FROM TABLE teams
INNER JOIN matches
  ON teams.id = matches.team_id
INNER JOIN matches
  ON matches.project_id = projects.id
ORDER BY teams.id;
4 dan
SELECT
  teams.team_name AS team_name,
  projects.project_name AS project_name
FROM TABLE teams
INNER JOIN matches
  ON teams.id = matches.team_id
INNER JOIN matches
  ON matches.project_id = projects.id
ORDER BY teams.id;
5

Kesimpulan

Pernyataan

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
3 memungkinkan Anda menggabungkan satu atau beberapa tabel. Itu harus digunakan bersama dengan pernyataan ON untuk menentukan hubungan antara baris tabel dan baris tabel yang berbeda

Dalam artikel ini Anda telah mempelajari cara menggunakan pernyataan

SELECT *
  FROM table1
  INNER JOIN table2
  ON table1.id = table2.id
  INNER JOIN table3
  ON table2.id = table3.id;
3 untuk menggabungkan tiga tabel yang berbeda

IKLAN

IKLAN

IKLAN

IKLAN


Inner join 5 tabel mysql
Ilenia Magoni

Moderator dan staf penulis untuk freeCodeCamp


Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih

Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai

Bagaimana cara menggunakan inner join pada 5 tabel?

Sintaksis INNER JOIN Multi-Tabel. .
DARI nama-tabel1
INNER JOIN nama-tabel2 ON nama-kolom1 = nama-kolom2
INNER JOIN nama-tabel3 ON nama-kolom3 = nama-kolom4
INNER JOIN nama tabel 4 ON nama kolom = nama kolom 6
kondisi WHERE

Bagaimana saya bisa bergabung dengan lebih dari 4 tabel di MySQL?

Jika Anda ingin menggabungkan data yang disimpan dalam beberapa (lebih dari dua) tabel, Anda harus menggunakan operator GABUNG beberapa kali . Pertama, Anda menggabungkan dua tabel seperti biasa (menggunakan JOIN , LEFT JOIN , RIGHT JOIN , atau FULL JOIN , sebagaimana mestinya).

Berapa banyak kondisi bergabung yang diperlukan untuk bergabung dengan 5 tabel di SQL?

Diperlukan empat . Ini sesederhana meletakkan lima bola dalam garis lurus dan menghitung jarak di antara mereka. Kecuali jika Anda bersedia memasukkan semua data Anda ke dalam satu tabel yang sangat berantakan, dalam hal ini Anda dapat menggunakan CROSS JOIN.

Bagaimana cara saya menggabungkan beberapa tabel dalam SQL?

Menggunakan INNER JOIN dengan dua, tiga, empat, atau lebih banyak tabel adalah mungkin. Anda cukup menambahkan kata kunci INNER JOIN di akhir kriteria join untuk join sebelumnya . Sintaksnya terlihat seperti ini. PILIH kolom_Anda DARI table1 INNER JOIN table2 ON table1.