Salah satu fitur SQL yang paling hebat adalah operasi JOIN, yang menyediakan cara yang elegan dan sederhana untuk menggabungkan setiap baris dari satu tabel dengan setiap baris dari tabel lain. Namun, ada kalanya kita mungkin ingin menemukan nilai dari satu tabel yang TIDAK ada di tabel lain. Seperti yang akan kita lihat dalam artikel blog hari ini, join juga dapat digunakan untuk tujuan ini, dengan menyertakan predikat untuk menggabungkan tabel. Dikenal sebagai anti join, ini dapat membantu dalam menjawab berbagai pertanyaan terkait bisnis, seperti:
- Kustomer mana yang tidak memesan?
- Karyawan mana yang belum diberi departemen?
- Tenaga penjualan mana yang tidak menutup transaksi minggu ini?
Blog ini akan menawarkan primer tentang jenis anti join dan cara menulisnya menggunakan beberapa contoh berbasiskan pada dvdrental database akan menulis dan mengeksekusi query di Navicat Premium Lite 17.
Mayoritas developer dan profesional database familiar dengan standar tipe inner, outer, left, dan right JOIN. Meskipun ini dapat ditulis menggunakan ANSI SQL, ada beberapa tipe join lain yang didasarkan pada operator aljabar relasional yang tidak memiliki representasi syntax dalam SQL. Hari ini kita akan membahas salah satu jenis join tersebut: Semi Join. Minggu depan kita akan membahas Anti Join yang serupa. Untuk mendapatkan pemahaman yang lebih baik bagaimana tipe join ini bekerja, kita akan mengeksekusi beberapa query SELECT dari Navicat Premium Lite 17 terhadap dvdrental database PostgreSQL. Ini adalah database gratis yang berbasiskan pada Sakila Sample Database MySQL.
Jika Anda telah menulis query SQL selama beberapa waktu, Anda mungkin cukup familiar dengan klausa WHERE. Meskipun klausa ini tidak memiliki efek pada kolom agregat, ada cara untuk memfilter data menurut nilai agregat, yaitu dengan menggunakan klausa HAVING. Blog ini akan membahas cara kerjanya serta memberikan beberapa contoh tentang penggunaannya dalam query SELECT.
Operator SQL EXISTS menawarkan cara mudah untuk mengambil data berdasarkan keberadaan (atau ketidakberadaan) beberapa data lainnya. Lebih khusus lagi, ini adalah operator logika yang mengevaluasi hasil subquery dan mengembalikan nilai boolean yang menunjukkan apakah baris dikembalikan atau tidak. Meskipun operator IN dapat digunakan untuk tujuan yang hampir sama, ada beberapa perbedaan yang perlu diperhatikan. Blog hari ini akan membahas cara menggunakan operator EXISTS menggunakan beberapa contoh serta memberikan beberapa panduan tentang kapan harus menggunakan EXISTS daripada IN.
Pada pertengahan tahun sembilan puluhan, Sun Microsystems mengeluarkan bahasa yang dapat "ditulis sekali, [dan] dijalankan di mana saja." Bahasa itu, tentu saja, adalah Java. Dan, meskipun bahasa itu menjadi salah satu bahasa pemrograman paling populer hingga hari ini, slogan mereka ternyata sedikit optimis. Bahasa Java memiliki beberapa kemiripan yang kuat dengan SQL. Bahasa itu juga dapat dipindahkan dari satu database ke database lain, atau bahkan lintas sistem operasi, dengan sedikit atau tanpa modifikasi. Setidaknya, itulah impiannya. Di dunia nyata, kode tingkat produksi cenderung memerlukan beberapa penyesuaian agar dapat berfungsi di environment baru. Blog ini akan menguraikan beberapa alasan mengapa sintaksis SQL dapat berbeda di berbagai vendor database.