Bagaimana menggunakan inner join dalam contoh mysql?

INNER JOIN_ digunakan untuk mengembalikan data dari beberapa tabel. Lebih khusus lagi, INNER JOIN_ adalah untuk saat Anda hanya tertarik untuk mengembalikan catatan di mana setidaknya ada satu baris di kedua tabel yang cocok dengan kondisi bergabung

Pertimbangkan tabel berikut

Bagaimana menggunakan inner join dalam contoh mysql?

Jika kami ingin memilih data dari dua bidang yang disorot (country dan city), kami dapat menjalankan kueri berikut (yang menyertakan gabungan dalam)

Dan hasilnya akan terlihat seperti ini

Bagaimana menggunakan inner join dalam contoh mysql?

Dalam contoh di atas, kami menggunakan gabungan dalam untuk menampilkan daftar kota di samping negara tempatnya. Info kota ada di tabel yang berbeda dengan info negara. Oleh karena itu, kami menggabungkan dua tabel menggunakan bidang country_id — karena itu adalah bidang umum di kedua tabel (ini adalah bidang kunci asing)

Berikut diagram dari kedua tabel tersebut (dengan hubungan kunci asing disorot)

Bagaimana menggunakan inner join dalam contoh mysql?

Kualifikasi Lapangan

Anda akan melihat bahwa dalam contoh di atas, kami telah memenuhi syarat beberapa nama bidang dengan nama tabelnya masing-masing. Secara khusus, baris terakhir berbunyi city.country_id = country.country_id;

Kami melakukan ini karena nama bidangnya sama (country_id). Jika kami tidak memenuhi syarat dengan nama tabel (mis. e. country_id = country_id;_) MySQL tidak akan tahu kolom mana yang kami maksud — yang ada di tabel city atau yang ada di tabel country

Jika kami tidak memenuhi syarat kolom, MySQL akan memunculkan kesalahan kolom yang ambigu. Itu akan mengatakan sesuatu seperti ini

Bagaimana menggunakan inner join dalam contoh mysql?

Menggunakan Alias

Saat mengkualifikasi nama kolom, Anda dapat menggunakan alias tabel untuk mempersingkat kueri dan menyimpan pengetikan

Misalnya, contoh di atas dapat ditulis ulang menjadi ini

Gabungan Dalam dengan INNER JOIN_0 dan Fungsi Agregat

Dalam contoh berikut, kami mengubahnya dan memberikan daftar negara dalam satu kolom, dengan jumlah kota yang terdapat di setiap negara di kolom lain

Untuk melakukan ini, kami menggunakan fungsi agregat INNER JOIN_1 untuk menghitung jumlah kota untuk setiap negara, kemudian klausa INNER JOIN0 untuk mengelompokkan hasil berdasarkan negara

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 kolom first_table_id yang menyatakan baris mana dari tabel pertama yang terkait dengan baris tersebut

Bagaimana menggunakan inner join dalam contoh 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 menyatakan baris mana dari tabel kedua yang terkait dengan baris tersebut

Bagaimana menggunakan inner join dalam contoh mysql?
Banyak-ke-satu

banyak ke banyak

Dalam hal ini beberapa baris terkait dengan beberapa baris

Bagaimana menggunakan inner join dalam contoh 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

Bagaimana menggunakan inner join dalam contoh mysql?

Dalam praktiknya di MySQL, tabel tengah tersebut 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 menjadi 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 ________ 33 _______ 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


Bagaimana menggunakan inner join dalam contoh 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 di MySQL?

GABUNG DALAM MySQL .
Pertama, tentukan tabel utama yang muncul di klausa FROM ( t1 )
Kedua, tentukan tabel yang akan digabungkan dengan tabel utama yang muncul pada klausa INNER JOIN ( t2 , t3 ,…)
Ketiga, tentukan kondisi gabungan setelah kata kunci ON dari klausa INNER JOIN

Apa itu inner join dengan contoh?

Gabungan dalam gunakan operator pembanding untuk mencocokkan baris dari dua tabel berdasarkan nilai pada kolom yang sama dari setiap tabel . Misalnya, mengambil semua baris di mana nomor identifikasi siswa sama untuk tabel siswa dan kursus.

Bagaimana cara menggunakan fungsi gabungan dalam di SQL?

Contoh SQL INNER JOIN . Kata kunci INNER JOIN memilih semua baris dari kedua tabel selama ada kecocokan antar kolom. Jika ada rekaman di tabel "Pesanan" yang tidak memiliki kecocokan di "Pelanggan", pesanan ini tidak akan ditampilkan

Bagaimana cara menggabungkan 3 tabel di MySQL?

Dimungkinkan untuk menggunakan beberapa pernyataan gabungan secara bersamaan untuk menggabungkan lebih dari satu tabel secara bersamaan. Untuk melakukannya, Anda menambahkan pernyataan INNER JOIN kedua dan pernyataan ON kedua untuk menunjukkan tabel ketiga dan hubungan kedua .