Modul MySQL: Menampilkan Kota Yang Memiliki Nama Terpanjang Dan Terpendek

SOAL

Buatlah queri untuk menampilkan dua kota di tabel STATION dengan nama CITY terpendek dan terpanjang, serta panjangnya masing-masing (yaitu: jumlah karakter dalam nama CITY). Jika ada lebih dari satu kota terkecil atau terbesar, pilih salah satu yang didahulukan jika diurutkan berdasarkan abjad.

Tabel STATION dijelaskan sebagai berikut:

Struktur Tabel STATION.

BATASAN

Dapat menulis dua queri terpisah untuk mendapatkan hasil yang diinginkan, tidak perlu menjadi satu queri.


CONTOH

Misalnya, CITY memiliki empat entri: DEF, ABC, PQRS dan WXY.

Contoh Keluaran:

ABC     3

PQRS   4

Penjelasan:

Jika diurutkan menurut abjad, nama KOTA akan dicantumkan sebagai ABC, DEF, PQRS, dan WXY, dengan panjang dan . Nama terpanjang adalah PQRS, tetapi ada opsi untuk nama kota terpendek. Pilih ABC, karena didahulukan berdasarkan abjad.


PERSIAPAN

Membuat tabel STATION:

CREATE TABLE `STATION` (

  `ID` int PRIMARY KEY AUTO_INCREMENT,

  `CITY` varchar(255),

  `STATE` varchar(255),

  `LAT_N` integer,

  `LONG_W` integer

);

Dalam queri diatas tabel STATION dibuat dengan beberapa kolom sesuai dengan struktur tabel pada soal.


Mengisi tabel STATION:

INSERT INTO STATION(CITY) VALUES ('GRESIK'), ('BANGKALAN'), ('MOJOKERTO'), ('SURABAYA'), ('SIDOARJO'), ('LAMONGAN')

Karena kolom yang dibutuhkan hanya CITY maka pada queri diaras hanya akan mengisi kolom CITY dengan beberapa nama kota.


QUERY 

select city, city_lenght from (select id, city, char_length(city) as city_lenght from STATION) as length_table where city_lenght = (select min(city_lenght) from (select id, city, char_length(city) as city_lenght from STATION) as min_table) order by city asc limit 1;

select city, city_lenght from (select id, city, char_length(city) as city_lenght from STATION) as length_table where city_lenght = (select max(city_lenght) from (select id, city, char_length(city) as city_lenght from STATION) as max_table) order by city asc limit 1;


PEMBAHASAN 

1. Pertama yang harus dilakukan adalah mencari jumlah huruf yang ada pada kolom CITY, hal itu bisa dilakukan dengan menggunakan fungsi CHAR_LENGTH(...). Contoh penggunaan fungsi ini ada pada:

select id, city, char_length(city) as city_lenght from STATION;

Query tersebut digunakan untuk mengambil kolom ID, CITY, dan jumlah huruf yang ada pada kolom CITY dan diberi nama dengan CITY_LENGTH.

2. Setelah menemukan jumlah huruf pada tiap-tiap CITY, yang harus dilakukan selanjutnya adalah menemukan nilai terbesar, dan terkecil pada jumlah huruf city menggunakan fungsi MAX(...) dan MIN(...). Contoh penggunaan dua fungsi ini ada pada:

select min(city_lenght) from (select id, city, char_length(city) as city_lenght from STATION) as min_table;

Query di atas digunakan untuk mengambil nilai terkecil pada kolom CITY_LENGTH.

select max(city_lenght) from (select id, city, char_length(city) as city_lenght from STATION) as max_table; 

Query di atas digunakan untuk mengambil nilai terbesar pada kolom CITY_LENGTH.

3. Kemudian untuk mengurutkan data berdasarkan abjad digunakan fungsi ORDER BY ... ASC. Dalam studi kasus ini penggunaannya seperti ORDER BY CITY ASC yang berarti data akan diurutkan berdasarkan CITY dengan urutan yang terkecil ke yang terbesar(sesuai abjad).

4. Terakhir untuk mengambil data dengan jumlah huruf terbesar dan terkecil menggunakan fungsi LIMIT 1. Untuk penggunaan fungsi ini biasa diletakkan di akhir query.


HASIL

Hasil Queri Min.

Dari queri yang diajalankan diatas kota yang memiliki nama paling pendek adalah GRESIK dengan panjang 6 huruf.


Hasil Queri Max.

Dari queri yang diajalankan diatas kota yang memiliki nama paling panjang adalah BANGKALAN dengan panjang 6 huruf.

Modul MySQL: Menampilkan Kota Yang Memiliki Nama Terpanjang Dan Terpendek Modul MySQL: Menampilkan Kota Yang Memiliki Nama Terpanjang Dan Terpendek Reviewed by Syafriansyah Muhammad on 2/13/2022 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.