JOBSHEET 6
DOSEN PENGAMPU :
SYUKHRI,S.t,MCIO
OLEH :
RIZKY ANDIKA PUTRA
22343011
C. TEORI SINGKAT
Perintah SELECT adalah perintah untuk menampilkan data yang ada di dalam suatu tabel, yang
mana dalam pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan
berpengaruh hingga saat pemrograman di stored procedures dan triggers. Selain perintah-perintah
SELECT yang telah dibahas sebelumnya, masih ada banyak perintah-perintah SELECT lain yang
lebih luas lagi dalam penggunaannya. Beberapa klausa dan atau operator bisa dikombinasikan
dalam penggunaan SELECT agar memperoleh hasil secara spesisik dan sesuai dengan kebutuhan.
REGEX
Regular Expression (REGEX) adalah konstruksi bahasa untuk mencocokkan teks berdasarkan pola
tertentu, terutama untuk kasus-kasus kompleks. Contoh misalkan mencari teks berawalan karakter
tertentu, memiliki jumlah perulangan dari suatu teks, dan lain sebagainya. Selain itu, REGEX juga
sangat manjur (powerful) terutama untuk proses penguraian kata (text parsing).
Sintaks Umum:
expression [NOT] REGEXP expression
atau
expression [NOT] RLIKE expression
ANY
Operator ANY akan mengembalikan TRUE jika salah satu nilai subkueri memenuhi ketentuan.
Sintaks Umum:
SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
(SELECT column_name FROM table_name WHERE condition);
INTERSECT
Merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data
yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama
dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
Sintaks Umum:
SELECT * FROM namatabel1
INTERSECT
SELECT * FROM namatabel2
MySQL tidak memiliki operator INTERSECT, namun sebagai gantinya dapat menggunakan
operator IN yang bisa diperdalam di bagian Nested Queries.
EXCEPT
Merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data
yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil
query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama. Sintaks Umum:
SELECT * FROM namatabel1
EXCEPT
SELECT * FROM namatabel2
MySQL tidak memiliki operator EXCEPT, namun sebagai gantinya dapat menggunakan
operator NOT IN yang bisa diperdalam di bagian Nested Queries.
D. LANGKAH KERJA
Setelah diunduh, silahkan ekstrak dan simpan pada folder yang diinginkan.
Apabila hanya ingin menampilkan nama benua yang tidak memiliki kata “AMERICA”,
dapat menggunakan kueri sebagai berikut:
4. Operator ANY
Menampilkan nama negara yang berada pada benua tertentu (Amerika Utara, continent_id=5)
MariaDB [nation]> select name from countries where region_id =
ANY
(select region_id from regions where
continent_id=5);
+------------------+
| name |
+-----------------
-+ | Argentina
|
| Bolivia |
| Brazil |
| Chile |
| Colombia |
| Ecuador |
| Falkland Islands |
| French Guiana |
| Guyana |
| Peru |
| Paraguay |
| Suriname |
| Uruguay |
| Venezuela |
+------------------+
14 rows in set (0.00
sec)
5. INTERSECT
MariaDB [nation]> select continent_id,name from continents
where continent_id IN (select continent_id from regions);
+--------------
+---------------+ |
continent_id | name |
+--------------
+---------------+ |
1 | North America |
| 2 | Asia |
| 3 | Africa |
| 4 | Europe |
| 5 | South America |
| 6 | Oceania |
| 7 | Antarctica | +--------------
+---------------+
7 rows in set (0.00
sec)
6. EXCEPT
MariaDB [nation]> select countries.country_id from countries
where countries.country_id NOT IN (select
country_stats.country_id from country_stats);
+-----------
-+ |
country_id |
+-----------
-+ |
4 |
| 7 |
| 82 |
| 146 |
| 147 |
| 229 |
| 80 |
| 226 |
| 236 |
| 72 |
| 90 |
| 47 |
| 158 |
| 167 |
| 210 |
| 233 |
| 12 |
| 13 |
| 35 |
| 94 |
| 188 |
| 39 |
| 53 |
| 155 |
| 101 |
| 151 |
| 180 |
| 189 |
| 181 |
| 196 |
| 212 |
| 174 |
| 218 |
| 190 |
| 66 |
| 222 |
+------------+
36 rows in set (0.01 sec)
7. Menghitung Waktu
Berikut adalah kueri dan hasilnya untuk mengetahui sudah berapa tahun sebuah negara
merdeka. Perhatikan kueri dan hasil kuerinya
+-------------+--------------+------------+-------------+
| name | national_day | Sekarang | UsiaMerdeka |
+-------------+--------------+------------+-------------+
| Aruba | NULL | 2023-03-12 | NULL |
| Afghanistan | 1919-08-19 | 2023-03-12 | 103 |
| Angola | 1975-11-11 | 2023-03-12 | 47 |
| Anguilla | 1967-05-30 | 2023-03-12 | 55 |
| Albania | 1912-11-28 | 2023-03-12 | 110 |
+-------------+--------------+------------+-------------+
5 rows in set (0.00 sec)
E. EVALUASI/KASUS