Di MySQL INNER JOIN memilih semua baris dari kedua tabel yang berpartisipasi untuk muncul di hasil jika dan hanya jika kedua tabel memenuhi kondisi yang ditentukan dalam klausa ON. JOIN, CROSS JOIN, dan INNER JOIN adalah persamaan sintaksis. Dalam SQL standar, mereka tidak setara. INNER JOIN digunakan dengan klausa ON, CROSS JOIN digunakan sebaliknya Show Presentasi bergambar MySQL INNER JOIN Sintaks MySQL INNER JOIN MySQL mendukung sintaks JOIN berikut untuk table_references (Referensi tabel juga dikenal sebagai ekspresi gabungan. ) bagian dari pernyataan SELECT dan pernyataan UPDATE dan DELETE multi-tabel table_references: escaped_table_reference [, escaped_table_reference] ... escaped_table_reference: table_reference | { OJ table_reference } table_reference: table_factor | join_table table_factor: tbl_name [PARTITION (partition_names)] [[AS] alias] [index_hint_list] | table_subquery [AS] alias | ( table_references ) join_table: table_reference [INNER | CROSS] JOIN table_factor [join_condition] | table_reference STRAIGHT_JOIN table_factor | table_reference STRAIGHT_JOIN table_factor ON conditional_expr | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor join_condition: ON conditional_expr | USING (column_list) index_hint_list: index_hint [, index_hint] ... index_hint: USE {INDEX|KEY} [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list]) | IGNORE {INDEX|KEY} [FOR {JOIN|ORDER BY|GROUP BY}] (index_list) | FORCE {INDEX|KEY} [FOR {JOIN|ORDER BY|GROUP BY}] (index_list) index_list: index_name [, index_name] ... Contoh. JOIN DALAM MySQL Saat menggabungkan catatan dari lebih dari satu tabel, pengguna perlu menunjukkan bagaimana catatan dalam tabel dapat dicocokkan dengan catatan di tabel lainnya. Karena kedua tabel memiliki kolom cate_id, kita dapat mencocokkan menggunakan kolom tersebut. Klausa ON digunakan untuk mencocokkan record dalam dua tabel, berdasarkan nilai kolom cate_id. Penggunaan INNER JOIN menggabungkan tabel. INNER JOIN memungkinkan baris dari salah satu tabel muncul di hasil jika dan hanya jika kedua tabel memenuhi kondisi yang ditentukan dalam klausa ON Dalam contoh ini, klausa ON menentukan bahwa kolom cate_id dari tabel book_mast dan kategori harus cocok. Jika cate_id tidak muncul di kedua tabel, baris tidak akan muncul di hasil karena kondisi di klausa ON gagal. Hanya kategori tersebut yang akan berpartisipasi dalam GABUNG yang bukunya ditulis dalam bahasa INGGRIS Kode _Ekspresi Aljabar Relasional Pohon Aljabar Relasional Tabel sampel. book_mast Tabel sampel. kategori Keluaran Sampel mysql> SELECT book_mast.book_id,book_mast.book_name,cate_descrip -> FROM book_mast -> INNER JOIN category -> ON book_mast.cate_id=category.cate_id -> WHERE book_mast.pub_lang="English"; +---------+-------------------------------------+--------------+ | book_id | book_name | cate_descrip | +---------+-------------------------------------+--------------+ | BK001 | Introduction to Electrodynamics | Science | | BK002 | Understanding of Steel Construction | Technology | | BK004 | Transfer of Heat and Mass | Technology | | BK010 | Fundamentals of Thermodynamics | Technology | | BK012 | The Nature of World | Nature | | BK009 | Mental Health Nursing | Medical | +---------+-------------------------------------+--------------+ 6 rows in set (0.04 sec) skrip PHP
Lihat contoh di browser Contoh. MySQL INNER BERGABUNG dengan alias Pernyataan MySQL berikut mengembalikan id buku, nama buku, id penerbit, deskripsi kategori dan bahasa penerbit, di mana bahasa penerbit adalah bahasa Inggris dan id penerbit tidak sama dengan P004. Perhatikan bahwa alias telah digunakan untuk merujuk nama kolom. INNER JOIN dilakukan berdasarkan kondisi bahwa id kategori di tabel book_mast juga harus ada di tabel kategori Kode _Ekspresi Aljabar Relasional Pohon Aljabar Relasional Tabel sampel. book_mast Keluaran Sampel mysql> SELECT bk.book_id,bk.book_name,bk.pub_id,ca.cate_descrip,bk.pub_lang -> FROM book_mast AS bk -> INNER JOIN category AS ca ON bk.cate_id=ca.cate_id AND -> bk.pub_lang='English' AND bk.pub_id<>'P004'; +---------+-------------------------------------+--------+--------------+----------+ | book_id | book_name | pub_id | cate_descrip | pub_lang | +---------+-------------------------------------+--------+--------------+----------+ | BK001 | Introduction to Electrodynamics | P003 | Science | English | | BK002 | Understanding of Steel Construction | P001 | Technology | English | | BK010 | Fundamentals of Thermodynamics | P007 | Technology | English | | BK012 | The Nature of World | P008 | Nature | English | | BK009 | Mental Health Nursing | P007 | Medical | English | +---------+-------------------------------------+--------+--------------+----------+ 5 rows in set (0.00 sec) MySQL INNER JOIN menggunakan tiga tabel Tabel sampel table - doctors +-------+---------+ | docid | dname | +-------+---------+ | 1 | A.VARMA | | 2 | D.GOMES | +-------+---------+ table - specialize +------+----------+-------+ | spid | desc | docid | +------+----------+-------+ | 1 | special1 | 1 | | 2 | special2 | 2 | +------+----------+-------+ table - timeschedule +-----+------+----------+-------+ | tid | tday | sit_time | docid | +-----+------+----------+-------+ | 1 | MON | 17:00:00 | 1 | | 2 | WED | 08:00:00 | 1 | | 3 | TUE | 16:00:00 | 2 | | 4 | FRI | 09:00:00 | 2 | +-----+------+----------+-------+_ Tabel di atas saling berhubungan. Di dokter, spesialisasi dan tabel jadwal waktu, docid, spid dan tid adalah kunci utama secara berurutan. Docid pada tabel spesialisasi dan tabel jadwal waktu merupakan foreign key yang menjadi acuan primary key docid pada tabel doctor. Jika kita ingin semua catatan untuk dokter spesialis1 dan duduk di kamarnya pada hari Rabu (Rabu) dalam waktu jadwalnya, SQL berikut dapat digunakan- Bagaimana cara menggabungkan tiga tabel dengan gabungan dalam 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 .
Bisakah kita menggunakan gabungan dalam untuk 3 tabel?Cara paling umum untuk menggabungkan tiga tabel adalah seperti ini. SELECT * FROM Table1 INNER JOIN Table2 ON Kondisi INNER JOIN Table3 ON Kondisi ; . Anda juga dapat menggabungkan jenis gabungan jika diperlukan (contoh di bawah).
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.
Bagaimana cara mendapatkan data dari 3 tabel di SQL?Untuk melakukannya, kita perlu menggunakan kueri gabungan untuk mendapatkan data dari beberapa tabel. . PILIH hal. p_id, hal. cus_id, hal. p_name, c1. nama1, c2. nama2 DARI produk SEBAGAI p KIRI GABUNG pelanggan1 SEBAGAI c1 Pada p. cus_id=c1. cus_id KIRI GABUNG pelanggan2 SEBAGAI c2 Pada p. cus_id = c2. cus_id |