{"id":238,"date":"2024-10-17T00:10:11","date_gmt":"2024-10-16T17:10:11","guid":{"rendered":"https:\/\/notes.its.ac.id\/ruhendrawan\/?p=238"},"modified":"2024-10-17T00:10:11","modified_gmt":"2024-10-16T17:10:11","slug":"sql-select-where","status":"publish","type":"post","link":"https:\/\/notes.its.ac.id\/ruhendrawan\/sql-select-where","title":{"rendered":"SQL SELECT WHERE"},"content":{"rendered":"<p>SQL Menyaring Baris berdasarkan Kondisi\/ Batasan<\/p>\n<p><code>SELECT<\/code> digunakan untuk memilih kolom tertentu dari sebuah tabel. Namun, bagaimana jika tabel tersebut berisi ratusan juta baris data? Membaca seluruh baris akan sangat tidak efisien, bahkan mungkin mustahil. Baris tertentu disaring agar tidak ditampilkan dengan menggunakan klausa <code>WHERE<\/code> dalam query <em>SQL<\/em>. Klausa ini diterapkan ke setiap baris data dengan memeriksa nilai kolom tertentu, menentukan apakah baris tersebut harus dimasukkan dalam hasil atau tidak.<\/p>\n<p>Contoh Query dengan Saringan <code>WHERE<\/code><\/p>\n<pre><code class=\"language-sql\">SELECT kolom, kolom_lain, \u2026\nFROM nama_tabel\nWHERE kondisi\n    AND\/OR kondisi_lain\n    AND\/OR \u2026;\n<\/code><\/pre>\n<p>Klausa yang lebih kompleks disusun dengan menggabungkan beberapa kata kunci logika <code>AND<\/code> atau <code>OR<\/code> (misalnya, <code>tahun &gt;= 2000 AND jenis = &quot;Sastra&quot;<\/code>). Berikut ini adalah beberapa operator berguna yang dapat digunakan untuk data numerik (misalnya, bilangan bulat atau titik mengambang):<\/p>\n<table>\n<thead>\n<tr>\n<th>Operator<\/th>\n<th>Jenis Kondisi<\/th>\n<th>Contoh SQL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>=, !=, &lt;, &lt;=, &gt;, &gt;=<\/td>\n<td>Operator numerik<\/td>\n<td><code>kolom != 5<\/code><\/td>\n<\/tr>\n<tr>\n<td>BETWEEN \u2026 AND \u2026<\/td>\n<td>Angka berada dalam <strong>rentang dua nilai<\/strong><\/td>\n<td><code>kolom BETWEEN 3.3 AND 5.5<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>NOT<\/strong> BETWEEN \u2026 AND \u2026<\/td>\n<td>Angka <strong>tidak<\/strong> berada dalam rentang<\/td>\n<td><code>kolom NOT BETWEEN 3 AND 5<\/code><\/td>\n<\/tr>\n<tr>\n<td>IN (\u2026)<\/td>\n<td>Angka ada <strong>dalam daftar<\/strong><\/td>\n<td><code>kolom IN (3, 5, 7)<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>NOT<\/strong> IN (\u2026)<\/td>\n<td>Angka <strong>tidak<\/strong> ada dalam daftar<\/td>\n<td><code>kolom NOT IN (3, 5, 7)<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Dengan menuliskan klausa untuk membatasi hasil baris yang ditampilkan, query berjalan lebih cepat karena jumlah data yang tidak diperlukan menjadi berkurang.<\/p>\n<blockquote>\n<p>SQL sebenarnya tidak mengharuskan penulisan kata kunci dalam huruf kapital. Namun, secara konvensi atau kesepakatan, penulisan kapital membantu memisahkan kata kunci SQL dari nama kolom dan tabel, membuat query lebih mudah dibaca.<\/p>\n<\/blockquote>\n<p><strong>Latihan:<\/strong><\/p>\n<ol>\n<li>Temukan buku dengan kolom  <code>id<\/code> bernilai 4<\/li>\n<li>Tampilkan buku terbitan tahun 2000 dan 2010<\/li>\n<li>Tampilkan buku yang BUKAN terbitan tahun 2000 dan 2010<\/li>\n<li>Temukan buku yang diterbitkan sebelum tahun  2010<\/li>\n<\/ol>\n<p><strong>Pembahasan:<\/strong><\/p>\n<ol>\n<li><strong>Temukan buku dengan kolom <code>id<\/code> bernilai 4<\/strong><\/li>\n<\/ol>\n<pre><code class=\"language-sql\">SELECT * FROM Buku WHERE id = 4;\n<\/code><\/pre>\n<p><strong>Ekspektasi Hasil:<\/strong> Satu baris (id adalah <em>primary key<\/em>) yang menampilkan seluruh kolom dari buku dengan <em>id<\/em> 4.<\/p>\n<blockquote>\n<p><em>primary key<\/em> adalah satu set kolom yang nilainya <em>unique<\/em>, tidak mungkin sama pada baris lain; dan <em>not null<\/em> atau <em>mandatory<\/em> atau <em>required<\/em> yaitu harus ada nilainya)<\/p>\n<\/blockquote>\n<table>\n<thead>\n<tr>\n<th>id<\/th>\n<th>judul<\/th>\n<th>penulis<\/th>\n<th>tahun<\/th>\n<th>jenis<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>4<\/td>\n<td>&quot;Negeri 5 Menara&quot;<\/td>\n<td>Ahmad Fuadi<\/td>\n<td>2009<\/td>\n<td>Inspirasi<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ol start=\"2\">\n<li><strong>Tampilkan buku terbitan tahun 2000 dan 2010<\/strong><\/li>\n<\/ol>\n<pre><code class=\"language-sql\">SELECT * FROM Buku WHERE tahun BETWEEN 2000 AND 2010;\n<\/code><\/pre>\n<p><strong>Ekspektasi Hasil:<\/strong> Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit antara 2000 dan 2010.<\/p>\n<table>\n<thead>\n<tr>\n<th>id<\/th>\n<th>judul<\/th>\n<th>penulis<\/th>\n<th>tahun<\/th>\n<th>jenis<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>2<\/td>\n<td>&quot;Laskar Pelangi&quot;<\/td>\n<td>Andrea Hirata<\/td>\n<td>2005<\/td>\n<td>Fiksi<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>&quot;Negeri 5 Menara&quot;<\/td>\n<td>Ahmad Fuadi<\/td>\n<td>2009<\/td>\n<td>Inspirasi<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>&quot;Habibie &amp; Ainun&quot;<\/td>\n<td>Bacharuddin Jusuf Habibie<\/td>\n<td>2010<\/td>\n<td>Biografi<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ol start=\"3\">\n<li><strong>Tampilkan buku yang BUKAN terbitan tahun 2000 dan 2010<\/strong><\/li>\n<\/ol>\n<pre><code class=\"language-sql\">SELECT * FROM Buku WHERE tahun NOT IN (2000, 2010);\n<\/code><\/pre>\n<p><strong>Ekspektasi Hasil:<\/strong> Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit tidak dalam daftar (2000, 2010).<\/p>\n<table>\n<thead>\n<tr>\n<th>id<\/th>\n<th>judul<\/th>\n<th>penulis<\/th>\n<th>tahun<\/th>\n<th>jenis<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>&quot;Senja di Jakarta&quot;<\/td>\n<td>Mochammad Ali<\/td>\n<td>1963<\/td>\n<td>Sastra<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>&quot;Bumi Manusia&quot;<\/td>\n<td>Pramoedya Ananta Toer<\/td>\n<td>1980<\/td>\n<td>Sastra<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ol start=\"4\">\n<li><strong>Temukan buku yang diterbitkan sebelum tahun  2010<\/strong><\/li>\n<\/ol>\n<pre><code class=\"language-sql\">SELECT * FROM Buku WHERE tahun &lt; 2010;\n<\/code><\/pre>\n<p><strong>Ekspektasi Hasil:<\/strong> Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit sebelum (dan tidak termasuk) 2010.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL Menyaring Baris berdasarkan Kondisi\/ Batasan SELECT digunakan untuk memilih kolom tertentu dari sebuah tabel. Namun, bagaimana jika tabel tersebut berisi ratusan juta baris data?&hellip;<\/p>\n","protected":false},"author":1286,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-238","post","type-post","status-publish","format-standard","hentry","category-praktikum"],"_links":{"self":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts\/238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/users\/1286"}],"replies":[{"embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/comments?post=238"}],"version-history":[{"count":1,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts\/238\/revisions"}],"predecessor-version":[{"id":239,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/posts\/238\/revisions\/239"}],"wp:attachment":[{"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/media?parent=238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/categories?post=238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notes.its.ac.id\/ruhendrawan\/wp-json\/wp\/v2\/tags?post=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}