Goals:
Mempelajari query dasar seperti SELECT, FROM, WHERE, DISTINCT, LIMIT, ORDER BY dan membandingkan antara SELECT * dengan SELECT(column)
SELECT : memilih kolom yang ingin diambil
FROM : dari tabel sumber
WHERE : memfilter baris tertentu
DISTINCT : menghindari data duplikat atau pengulangan baris
LIMIT : membatasi baris yang ditampilkan
ORDER BY : mengurutkan data dengan cara meningkat atau menurun
Selalu akhiri query dengan tanda titik koma ( ; )
Bagaimana Cara Menggunakan Query Tersebut?
Misalnya menggunakan datasets pertandingan liga eropa tahun 2011 - 2015
dengan id negara partisipan.
Select, From
SELECT *
FROM match;
menampilkan kolom secara keseluruhan
Bedanya dengan
SELECT season, hometeam_id, awayteam_id, home_goal, away_goal
FROM match;
menampilkan hanya kolom yang terpilih
Bagaimana jika pengambilan kolomnya tidak beraturan seperti sumber tabel?
SELECT country_id, hometeam_id, home_goal, awayteam_id, away_goal
FROM match;
susunannya akan mengikuti query
Where
Misalnya 1729 adalah country_id untuk England
SELECT country_id, hometeam_id, awayteam_id, home_goal, away_goal
FROM match
WHERE country_id = '1729';
penggunaan tanda '...' akan meminimalisir error jika data country_id bukan berbentuk INT melainkan tersimpan sebagai VARCHAR
hanya menampilkan pertandingan England League
Distinct
SELECT DISTINCT *
FROM match;
tidak ada perubahan karena setiap baris memiliki primary key (ID unik) sehingga dianggap setiap baris dari data yang berbeda
Jika mengambil kolom yang isinya berulang seperti home_goal
SELECT DISTINCT home_goal
FROM match;
hasilnya tidak ada data ganda, tetapi tidak berurutan (acak)
Limit
SELECT DISTINCT home_goal
FROM match
LIMIT 5;
mengambil baris teratas sesuai database
Order by
SELECT DISTINCT home_goal
FROM match
ORDER BY home_goal DESC;
ASC untuk menyusun meningkat, DESC untuk menyusun menurun
hasilnya data akan tersusun menurun
Bagaimana jika digabungkan semuanya?
Pertanyaan: Mencari pertandingan paling seru
SELECT country_id, hometeam_id, home_goal, awayteam_id, away_goal
FROM match
ORDER BY home_goal DESC
LIMIT 5;
lima pertandingan yang paling banyak mencetak gol
Annotation:
Menentukan sumber tabel FROM
Menentukan kolom yang akan ditampilkan SELECT
DISTINCT diletakkan setelah SELECT, digunakan hanya untuk mencari nilai unik seperti mencari negara pada country_id
ORDER BY dulu untuk menyusun hasil (dilakukan di akhir)
LIMIT dilakukan paling akhir