Hari 3 : Tingkatkan SQL Untuk Ilmu Data
Blog ini berisi Agregasi dalam SQL dan Kata Kunci Penting SQL (Union, Union all , Group By , Order By , having, Case statements ).
Halo teman-teman. Semoga semuanya berjalan dengan baik. Inilah blog ke-3 untuk transisi SQL dari Basics ke Advance. Coba baca .
Kelompokkan Menurut
Pernyataan GROUP BY mengelompokkan baris yang memiliki nilai yang sama ke dalam baris ringkasan , seperti “temukan jumlah pelanggan di setiap negara”. Pernyataan GROUP BY sering digunakan dengan fungsi agregat ( COUNT() , MAX() , MIN() , SUM() , AVG() ) untuk mengelompokkan kumpulan hasil berdasarkan satu atau beberapa kolom.
Kelompokkan Dengan Memiliki
Klausa HAVINGditambahkan ke SQL karena WHEREkata kunci tidak dapat digunakan dengan fungsi agregat.
Dipesan oleh
Klausa Order by digunakan ketika kita membutuhkan data kita secara ascending atau descending .
. Urutkan berdasarkan asc (menampilkan data dalam urutan menaik)
. Urutkan berdasarkan desc (menampilkan data dalam urutan menurun)
Kelompokkan Dengan Memiliki dan Pesan Dengan
Kita perlu menggunakan order by setelah memiliki condition .
Agregasi dalam SQL
Ada berbagai fungsi agregasi. Fungsi agregat melakukan perhitungan pada sekumpulan nilai, dan mengembalikan satu nilai. Kecuali untuk COUNT(*), fungsi agregat mengabaikan nilai nol. Fungsi agregat sering digunakan dengan klausa GROUP BY dari pernyataan SELECT.
Gunakan fungsi agregat sebagai ekspresi hanya dalam situasi berikut:
- Daftar pilih pernyataan SELECT (baik subkueri atau kueri luar).
- Klausa MEMILIKI.
Pertanyaan : mengapa pengelompokan menurut penting dalam fungsi agregat ?
Pernyataan GROUP BY dalam SQL digunakan untuk mengatur data yang identik ke dalam grup dengan bantuan beberapa fungsi . yaitu jika kolom tertentu memiliki nilai yang sama di baris yang berbeda maka akan mengatur baris tersebut dalam kelompok. Poin Penting: Klausa GROUP BY digunakan dengan pernyataan SELECT .
Jumlah()
Fungsi SUM()mengembalikan jumlah total kolom numerik.
Menghitung()
Fungsi COUNT()mengembalikan jumlah baris yang cocok dengan kriteria yang ditentukan.
Rata2()
Fungsi AVG()mengembalikan nilai rata-rata kolom numerik.
Min()
Fungsi MIN()mengembalikan nilai terkecil dari kolom yang dipilih.
Maks()
Fungsi MAX()mengembalikan nilai terbesar dari kolom yang dipilih.
Alias SQL
Alias SQL digunakan untuk memberi tabel, atau kolom dalam tabel, nama sementara. Alias sering digunakan untuk membuat nama kolom lebih mudah dibaca.
Sebuah alias dibuat dengan ASkata kunci.
Di sini, lastpurchase adalah alias untuk setiap salesmanid yang memiliki tanggal obral terbarunya.
UNION SQL
Operator UNIONdigunakan untuk menggabungkan result-set dari dua atau lebih SELECTpernyataan.
- Setiap
SELECTpernyataan di dalamnyaUNIONharus memiliki jumlah kolom yang sama - Kolom juga harus memiliki tipe data yang serupa
- Kolom di setiap
SELECTpernyataan juga harus dalam urutan yang sama
select user_id,name from user
union
select guest_user_id,name from Guest;
select user_id,name from user
union all
select guest_user_id,name from Guest;
Operator SQL INTERSECT menggabungkan dua pernyataan pilih dan hanya mengembalikan kumpulan data yang umum di kedua pernyataan tersebut . Sederhananya, ini bertindak sebagai persimpangan matematika. Dalam matematika, persimpangan A dan B adalah data umum yang ada di A dan B.
select user_id,name from user
Intersect
select guest_user_id,name from Guest;
Klausa/operator SQL EXCEPT digunakan untuk menggabungkan dua pernyataan SELECT dan mengembalikan baris dari pernyataan SELECT pertama yang tidak dikembalikan oleh pernyataan SELECT kedua. Ini berarti KECUALI hanya mengembalikan baris, yang tidak tersedia dalam pernyataan SELECT kedua.
Sama seperti operator UNION, aturan yang sama berlaku saat menggunakan operator KECUALI.
select user_id,name from user
Except
select guest_user_id,name from Guest;
Ekspresi CASEmelewati kondisi dan mengembalikan nilai saat kondisi pertama terpenuhi (seperti pernyataan if-then-else). Jadi, setelah suatu kondisi benar, itu akan berhenti membaca dan mengembalikan hasilnya. Jika tidak ada kondisi yang benar, ini mengembalikan nilai dalam ELSEklausa.
Jika tidak ada ELSEbagian dan tidak ada kondisi yang benar, ini mengembalikan NULL.
## Case statements
select user_id ,age,gender,case when age >= 25 and gender = 'F' then 1 else 0 end from user ;
## Case statement with count
select gender , count(case when gender = 'F' then user_id end) female ,
count(case when gender = 'M' then user_id end) male from user group by 1;
## In one statement
select gender , count(case when gender = 'F' then user_id when gender = 'M' then user_id end) from user group by 1;
## In one statement with more than one condition
select gender , count(case when age >= 25 and gender = 'F' then user_id when age >= 25 and gender = 'M' then user_id end) from user group by 1;
GITHUB : Sesi HARI 3
Referensi :
- https://www.w3schools.com/sql/default.asp
- https://www.geeksforgeeks.org/
Ikuti saya untuk lebih banyak posting terkait Ilmu Data!
Mari terhubung di LinkedIn !
Dapatkan NFT Kepribadian Anda
& Temukan Komunitas Anda Kemanapun Anda Pergi

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































