SQL Series I: SQL Fundamental SELECT and SELECT DISTINCT

Al-Fazrin Banapon
5 min readNov 10, 2020

--

Assalamualaikum Warahamtullahi Wabarakatuh
(dijawab dulu salamnya, lumayan pahala)

di tulisan gw SQL Series ini, adalah tulisan yang full ngebahas dasar dasar SQL mulai dari select hingga join dan nested query atau subquries (semoga bisa konsisten), gw nulis ini dengan tujuan buat bahan belajar dan review gw dan semoga bisa digunakan temen temen juga sebagai bahan belajar.

di series pertama ini gw bakalan ngebahas query yang fundamental banget yang udah pasti kepake setiap kita mau melakukan suatu treat ke database yaitu select, pernah gw bahas juga ditulisan gw sebelumnya tapi itu merupakan tulisan yang sengaja gw jadiin catatan dari hasil belajar gw dari salah satu platfrom e learning. So, buat teman teman yang membaca tulisan ini semoga senantiasa selalu dalam lindungan Allah, serta dimudahkan rejeki dan urusannya dan tentunya mudah dalam memahami tulisan gw nanti, Aamiin :)

untuk datanya sendiri gw bakalan gunakan sampel database yang bisa temen teman download disini lalu import di SQL temen temen. hierarki dari database itu sendiri terdiri dari beberapa tabel dan field yang namanya tentunya berbeda yang bisa temen temen liat skemanya di gambar berikut,

sumber : https://www.mysqltutorial.org/mysql-sample-database.aspx/

database tersebut mempunyai tabel sebagai berikut:

  • Customers: stores customer’s data.
  • Products: stores a list of scale model cars.
  • ProductLines: stores a list of product line categories.
  • Orders: stores sales orders placed by customers.
  • OrderDetails: stores sales order line items for each sales order.
  • Payments: stores payments made by customers based on their accounts.
  • Employees: stores all employee information as well as the organization structure such as who reports to whom.
  • Offices: stores sales office data.

ini merupakan databse penjualan motor klasik, yang terdiri 8 tables

let’s get started

selanjtunya kita akan liat didalam MySQL nya, untuk make sure kalau databasenya sudah ada didalam MySQL kita, dengan perintah show databases; maka akan tampil daftar databases yang ada didalam MySQL gw, dan untuk database yang akan kita pake adalah database dengan nama classicmodels.

untuk memilih database classicmodels yang akan digunakan kita membutuhkan suatu perintah yaitu use classicmodels; dan show tables; untuk menampilkan tabel apa saja yang ada didalam databasenya.

terdapat 8 tabel didalam database classicmodels, selanjutnya kita akan gunakan query select untuk mengambil data atau field atau kolom yang ada didalam tabel yang kita inginkan.

Mengambil seluruh kolom pada tabel

untuk mengambil seluruh kolom kita hanya membutuhkan tanda * yang diikuti dengan from nama_tabel yang menunjukkan kalau seluruh kolom dari tabel tersebut akan kita abmil

select * from payments;

maka tampil keseluruhan kolom dan baris dari tabel payments.

Mengambil Kolom tertentu dari suatu Tabel

untuk mengambil kolom tertentu dari suatu tabel kita hanya perlu mention nama kolom tersebut. Semisal dari tabel payments kita akan menampilkan kolom amount.

select amount from payments;

atau mengambil kolom paymentdate dan amount

select paymentdate, amount from payments;

Mengambil Kolom dengan Prefix dari Nama Tabel

untuk lebih jelasnya teman teman bisa baca juga di tulisan gw yang ini, untuk mengambil nama kolom dengan menggunakan prefix dari nama tabelnya, temen teman hany perlu menambhakna nama tabel diawal nama kolomnya. Hal ini penting diketahui karena saat melakukan join table terkadang nama koloma antar tabel yang di joinkan sama, sehingga perlu prefix dari nama kolom yang akan di ambil.

select payments.amount from payments; akan menghasilkan hasil yang sama dengan perintah select amount from payments;

Mengubah Nama Tabel serta Kolom (Alias)

Nama tabel dan juga kolom dapat diganti (alias) sesuai kebutuhan kita, perintah yang dibutuhkan yaitu as, strukturnya adalah sebagai berikut

select nama_kolom as nama_kolom_baru from nama_tabel; ini penggunaan as untuk memberikan nama atau alias pada kolom, sedankan untuk penggunaan alias nama tabel dapat dilakukan dengan perintah berikut select nama_kolom from nama_tabel as nama_tabel_baru;

lest’s practice

gw diminta untuk mengambil kolom phone dan menggantinya menjadi phone_number dari tabel offices.

select phone as phone_number from offices;

selanjutnya diminta untuk menampilkan kolo phone pada tabel offices namun mengganti nama tabel menjadi t1

select phone from offices as t1;

actually penggunaan alias atau as tidak seharusnya disertakan saat melakukan query atau dengan kata lain boleh tidak digunakan, maka format penulisan akan menjadi sebagai berikut

select nama_kolom nama_kolom_baru from nama_tabel atau untuk alias pada tabel select nama_kolom from nama_tabel nama_tabel_baru;

Penggunaan Alias dan Prefix secara bersamaan

selain digunakan secara terpisah, penggunaan keduanya dapat digunakan secara bersamaan seperti berikut

select nama_tabel_baru.nama_kolom as nama_kolom_baru from nama_tabel as nama_tabel_baru;

kita bakalan menampilkan kolom phone pada tabel offices namun kolom phone direname menjadi phone_number dan nama tabel menjadi t1.

select t1.phone as phone_number from offices as t1;

gimans, easy right ?

kita bakalan lanjut pada penggunaan where namun sebelumnya gw mau nyobain suatu query juga yang sering kepake juga yaitu limit dari namanya sudah bisa kita tebak kalau tujuannya untuk membatasi, sehingga penggunaanya saat kita ingin membatasi berapa banyak rows yang ingin ditampilkan.

select * from offices limit 3;

artinya kita akan menampilkan seluruh kolom pada tabel offices, dan hanya dibatasi menampilkan 3 rows saja

Mengambil Data Unik pada Tabel

selanjutnya penggunaan select untuk mengambil data yang unik pada suatu kolom, dapat menggunakan perintah select distinct diikuti oleh kolom yang ingin diambil nilai uniknya.

misalkan kita bakalan mengambil data pada kolom checkNumber tampilkan yang unik saja dari tabel payments.

select distinct(customerNumber) from payments;

nah gimans dude ? udah cukup paham bukan terkait select dan select distinct? semoga sedikit contoh ini dapat menambah pemahaman teman teman. Semangat belajar !!!!

Sekian dari gw, kalau ada yang mau di dikusikan feel free buat hubungin gw di afbanapon@gmail.com

linkedin : https://www.linkedin.com/in/alfazrin-banapon-9a953b147/

instagram : instagram.com/alfazrinb

Wassalamualaikum Warahmatullah :)

--

--