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.
Ini adalah praktik yang sudah mapan dalam desain dan pengembangan database untuk menghindari penyimpanan data apa pun yang dapat dihitung atau direkonstruksi dari bidang lain. Akibatnya, Anda mungkin kehilangan beberapa data saat membuat chart di Navicat BI. Namun itu bukan masalah, karena Navicat BI menyediakan Bidang Terhitung khusus untuk tujuan tersebut. Dalam blog hari ini, kita akan menggunakan Bidang Terhitung untuk membuat bagan yang menunjukkan waktu sewa rata-rata - yaitu, berapa lama pelanggan menyimpan film sebelum mengembalikannya - per pelanggan. Seperti kebanyakan artikel dalam seri ini, data akan dikurasi dari "dvdrental" sample database gratis.