Perhatikan dua tabel di bawah ini. Tabel Customers menyimpan data pembeli sedangkan tabel Orders menyimpan data pembelian yang dilakukan oleh para pembeli. Tabel Customers menyimpan kolom seperti CustomerID (ID pembeli, CustomerName (nama pembeli), ContactName (nama kontak) dan Country (negara asal pembeli). Tabel Orders menyimpan kolom seperti OrderID (ID pembelian), foreign key kepada CustomerID pada tabel Customers dan OrderDate (tanggal pembelian). Show Tabel Orders
Tabel Customers
Semua artikel dalam seri tutorial belajar SQL ini menggunakan sampel database yang dapat didownload di sini. Silahkan import sampel database ke MySql untuk keperluan praktek perintah SQL. Sekarang bagaimana caranya kita mengetahui pembelian apa saja yang dilakukan oleh seorang pembeli dan tanggal berapa pembelian tersebut dilakukan ?. Untuk mendapatkan informasi seperti itu kita perlu menggabungkan kolom OrderID pada tabel Orders, kolom CustomerName pada tabel Customers dan kolom OrderData pada tabel Orders. Tutorial sebelumnya : SQL Group By Untuk menampilkan data beberapa kolom dari beberapa tabel yang berbeda kita dapat menggunakan query SELECT JOIN. Sebagai contoh kasus di atas, SELECT JOIN dapat menggabungkan tabel Customers dan Orders dan mengambil kolom OrderID, CustomerName dan OrderDate pada kedua tabel tersebut. Query SELECT JOIN menggabungkan dua tabel berdasarkan hubungan mereka yang didefinisikan melalui foreign key. Dalam kasus di atas maka hubungan tersebut didefinisikan melalui kolom CustomerID pada tabel Orders. Berikut perintah lengkap SELECT JOIN sebagai solusi kasus seperti di atas.
Hasil dari query SELECT JOIN di atas adalah seperti tabel di bawah ini.
Jenis-Jenis SELECT JOINQuery SELECT JOIN dapat dikategorikan dalam empat jenis. INNER JOINPerintah SELECT dengan INNER JOIN hanya menampilkan data yang benar-benar ada pada kedua tabel. LEFT JOINPerintah SELECT dengan LEFT JOIN akan menampilkan semua data pada tabel kiri (tabel asal) dengan menyertakan data yang cocok pada tabel kanan (tabel yang digabungkan). RIGHT JOINPerintah SELECT dengan RIGHT JOIN akan menampilkan semua data pada tabel kanan (tabel yang digabungkan) dengan menyertakan data yang cocok pada tabel kiri (tabel asal). FULL JOINPerintah SELECT dengan FULL JOIN akan menampilkan semua data baik dari tabel kiri (tabel asal) dan tabel kanan (tabel yang digabungkan). Untuk lebih jelasnya tutorial ini akan membahas masing-masing jenis SELECT JOIN di atas. INNER JOINPerintah SELECT dengan INNER JOIN hanya menampilkan data yang benar-benar ada pada kedua tabel. Misalkan kita pakai contoh kasus tabel Orders dan Customers maka harus ada dua syarat agar data tersebut lolos SELECT INNER JOIN. Pertama, nilai pada kolom CustomerID dalam tabel Orders harus ada dalam tabel Customers pada kolom CustomerID. Kedua, nilai pada kolom CustomerID dalam tabel Customers harus ada dalam tabel Orders pada kolom CustomerID. Apabila kedua syarat tersebut dipenuhi maka data tersebut akan ditampilkan. Dengan kalimat sederhana, query INNER JOIN pada tabel Customers dan tabel Orders hanya menampilkan pembeli (Customer) yang pernah membeli (mempunyai Order) dan juga pembelian (Order) yang mempunyai pembeli (mempunyai Customer). Berikut format query SQL INNER JOIN.
Contoh INNER JOIN Tabel Orders Dan Customers
Contoh INNER JOIN tabel Orders, Customers Dan Shippers
LEFT JOINPerintah SELECT dengan LEFT JOIN akan menampilkan semua data pada tabel kiri (tabel asal) dengan menyertakan data yang cocok pada tabel kanan (tabel yang digabungkan). Berikut format query SQL LEFT JOIN. Tabel kiri (tabel asal) adalah table1, tabel kanan (tabel yang digabungkan) adalah table2. Foreign key yang mendefinisikan hubungan antara table1 dan table2 adalah kolom column_name.
Contoh LEFT JOIN tabel Customers dan OrdersMisalkan kita pakai contoh query di bawah ini.
Semua baris pada tabel Customers akan ditampilkan (kolom CustomerName). Tabel Customers adalah tabel kiri (tabel asal). Apabila nilai pada kolom CustomerID dalam tabel Orders ada dalam tabel Customers pada kolom CustomerID maka data tabel Orders akan ditampilkan (kolom OrderID). Apabila tidak ada maka akan ditampilkan sebagai NULL (data kosong). Dengan kalimat sederhana, query LEFT JOIN pada tabel Customers dan tabel Orders akan menampilkan semua pembeli (Customer) baik yang mempunyai pembelian (Order) ataupun yang tidak mempunyai pembelian. Hasil dari query di atas adalah seperti tabel berikut ini.
RIGHT JOINPerintah SELECT dengan RIGHT JOIN akan menampilkan semua data pada tabel kanan (tabel yang digabungkan) dengan menyertakan data yang cocok pada tabel kiri (tabel asal). Berikut format query SQL RIGHT JOIN. Tabel kiri (tabel asal) adalah table1, tabel kanan (tabel yang digabungkan) adalah table2. Foreign key yang mendefinisikan hubungan antara table1 dan table2 adalah kolom column_name.
Contoh RIGHT JOIN tabel Orders dan EmployeesMisalkan kita pakai contoh query di bawah ini.
Semua baris pada tabel Employees akan ditampilkan (kolom LastName dan FirstName). Tabel Employees adalah tabel kanan (tabel yang digabungkan). Apabila nilai pada kolom OrderID dalam tabel Orders ada dalam tabel Employees pada kolom OrderID maka data tabel Orders akan ditampilkan (kolom OrderID). Apabila tidak ada maka akan ditampilkan sebagai NULL (data kosong). Dengan kalimat sederhana, query RIGHT JOIN pada tabel Orders dan tabel Employees akan menampilkan semua karyawan (Employee) baik yang mempunyai pembelian (Order) ataupun yang tidak mempunyai pembelian. Hasil dari query di atas adalah seperti tabel berikut ini.
FULL JOINPerintah SELECT dengan FULL JOIN akan menampilkan semua data pada tabel kanan (tabel yang digabungkan) dan juga semua data pada tabel kiri (tabel asal). Berikut format query SQL FULL JOIN. Tabel kiri (tabel asal) adalah table1, tabel kanan (tabel yang digabungkan) adalah table2. Foreign key yang mendefinisikan hubungan antara table1 dan table2 adalah kolom column_name.
Contoh FULL JOIN tabel Customers dan OrdersMisalkan kita pakai contoh query di bawah ini.
Semua baris pada tabel Customers akan ditampilkan (kolom CustomerName). Tabel Customers adalah tabel kiri (tabel asal). Semua baris pada tabel Orders juga akan ditampilkan (kolom OrderID). Tabel Orders adalah tabel kanan (tabel yang digabungkan). Dengan kalimat sederhana, query FULL JOIN pada tabel Customers dan tabel Orders akan menampilkan semua pembeli (Customer) baik yang mempunyai pembelian (Order) ataupun yang tidak mempunyai pembelian dan juga akan menampilkan semua pembelian (Order) baik yang mempunyai pembeli (Customer) ataupun yang tidak mempunyai pembeli. Hasil dari query di atas adalah seperti tabel berikut ini (ditampilkan hanya baris data pilihan).
Daftar tutorial : Tutorial Belajar SQL Manakah perintah yang digunakan untuk memilih semua kolom dan data yang ada dalam tabel untuk ditampilkan?Untuk memilih kolom pada sebuah tabel, kita dapat menggunakan perintah SELECT untuk menentukan nama kolom yang akan diambil dan FROM untuk menentukan tabel yang akan diambil kolomnya.
Apa itu inner JOIN MySQL?Kesimpulannya, Inner Join adalah suatu perintah pada SQL Server digunakan untuk menggabungkan beberapa tabel . Sehingga, akan menampilkan data-data yang mempunyai nilai sama antar tabel dalam sebuah database.
Apa yang digunakan untuk menghubungkan 2 atau lebih tabel dalam database?JOIN merupakan salah satu operasi dalam SQL yang digunakan untuk menggabungkan dua atau lebih tabel yang berbeda menjadi satu basis data. Operasi join ini dapat dilakukan jika tabel-tabel yang akan digabungkan itu memiliki key kolom yang sama.
Apa itu data Query?Mengenal Istilah Query
Arti query pada bahasa pemrograman komputer adalah informasi yang diterima ataupun diambil dari suatu database. Hal tersebut berguna untuk memanipulasi, menambah, menghapus serta mengubah data. Query juga sering disebut dengan bahasa kueri.
|