0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan63 halaman

Panduan Dasar SQL untuk Pemula

Diunggah oleh

luthfianakareem
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan63 halaman

Panduan Dasar SQL untuk Pemula

Diunggah oleh

luthfianakareem
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

SQL Module 1:

Introduction and
Basic Queries

Author:
Gerry Chandra
Hi There, Nice to Meet You!

Gerry Chandra
Data Scientist
January 2020 - Now

[Link]@[Link]
[Link]
Session Outline

1. Introduction
2. Concept of Database
3. Concept of SQL
4. Introduction to DB Browser for SQLite
5. Datasets
6. Selecting columns
7. Filtering rows
8. Limiting output
Introduction
SQL, important?
Banyak pekerjaan/profesi yang diprediksi akan menghilang dalam
beberapa tahun ke depan karena perkembangan teknologi yang
begitu pesat pada hari-hari ini.
Data Analytics
SQL adalah skillset
paling populer dalam
dunia Data Analytics!
Careers in SQL

Big Data Expert Cloud Database Expert

Data Application Interface Developer


Big Data Architect
Data Analyst
Data Modeler
Database Admin
Data Scientist
BI Application Developer BI Solution Architect
Database Tester
BI Admin Database Developer

Database Migration Engineer

ETL Developer BI Reporting Engineer


Database
What and Why?
Yuk, coba bayangin sebentar!

Kira-kira, berapa banyak data


yang dimiliki oleh perusahaan
ojek online favorit kamu?
Contohnya, Gojek ...

Customers / Pengguna 50 Juta ++ gojek


download di Playstore

Order / Pesanan
Perusahaan
Gojek
Address / Alamat pengguna

5 Juta ++ driver apps


Drivers / Pengemudi download di Playstore
Excel? Nope.

SAY NO
TO EXCEL !!!
● 1 tabel terbatas 1 juta baris,
● Pengolahan data yang lambat untuk data besar,
● Sulit untuk digunakan secara bersamaan dalam satu perusahaan.
Hi, Database!

Say hello to
Database !
Menyimpan seluruh data secara sistematik.

● Penyimpanan data dalam jumlah besar dan bisa diakses


oleh semua user secara bersamaan,
● Format data yang terstandarisasi dan konsisten,
● Cepat dan mudah untuk memanipulasi data
(menambah data baru, delete, edit dan lainnya).
KOK BISA ???
Siapa yang melakukan itu semua?
Database Management System (DBMS)
adalah sebuah software untuk membuat
dan mengatur database secara efisien,
juga terstruktur.
Data Flow

Kumpulan data yang Data disimpan ke Data diakses oleh Data


dimiliki tiap perusahaan dalam sebuah Analyst dan/atau posisi
(contoh: data transaksi, database yang diatur lain yang berhubungan
data user yang baru secara sistematis oleh (Engineering).
login, dsb). DBMS.
Tipe-Tipe Database Management System

- Relational DBMS (RDBMS), adalah tipe DBMS


yang menyimpan data dalam bentuk tabular
(tabel) dan diketahui hubungan antar
tabel-tabelnya (ada relation/hubungan)
Contoh: MySQL, PostgreSQL, Oracle, SQLite, dll.

- NoSQL Database, tidak disimpan dalam bentuk


tabular, biasanya hanya format text JSON.
Contoh: MongoDB, Cassandra, HBase, dll.
Konsep RDBMS

Dalam Database terdapat banyak tabel


Konsep RDBMS

Memiliki format tabular.

Customers / Pengguna Order / Pesanan

Perusahaan
Ojek Online

Address / Alamat pengguna Merchant / Penjual


Konsep RDBMS (2)

Tabel terdiri dari baris dan kolom.


Antar tabel memiliki relasi (bisa terhubung).

Customers / Pengguna
Order / Pesanan

Address / Alamat pengguna Merchant / Penjual


Konsep RDBMS (3)

Setiap nilai pada sebuah kolom di RDBMS


harus memiliki tipe yang sama,

angka angka huruf angka Angka besar Tanggal Benar/Salah


(integer) (integer) (varchar) (integer) (big integer) (date) (binary/boolean)

FOREIGN KEY, merupakan primary key dari tabel lain

PRIMARY KEY, kolom yang digunakan sebagai identifier baris


pada suatu tabel.
SQL
How is it related to DB?
Data Flow (lagi)

Kumpulan data yang Data disimpan ke Data diakses oleh Data


dimiliki tiap perusahaan dalam sebuah Analyst dan/atau posisi
(contoh: data transaksi, database yang diatur lain yang berhubungan
data user yang baru secara sistematis oleh (Engineering).
login, dsb). DBMS.

Bagaimana caranya data


dalam DB dapat diakses
oleh pengguna??
SQL adalah jawabannya!

SQL (Structured Query Language)


adalah bahasa standar untuk
mengakses RDBMS dan mengolah
data dalam database.
DB Browser SQLite
Introduction
Membuat Membuka
database baru database yang sudah ada
Klik open Database

Pilih database yang sudah di-download dari


[Link]
Melihat seluruh tabel Mengambil data
yang ada di database dengan perintah SQL

Melihat isi data


Setiap tabel yang ada
Syntax / perintah SQL untuk mengambil data
(Ctrl + enter, untuk menjalankan perintahnya)

Hasil / keluaran dari perintah SQL yang


sudah dijalankan
Datasets
Overview
Datasets in this Short Course

1. Chinook, data media digital.


2. World, data negara-negara (ekonomi, populasi, dll).
3. Soccer, data pertandingan liga eropa.
4. Sakila, data rental film.
5. RakaFood, data merchant F&B.
Today’s dataset: CHINOOK
Basic Queries
Select, Where, Limit
Perintah Dasar SQL

1. Select, untuk memilih kolom yang ingin diambil


2. Where, untuk melakukan penyaringan (filter) pada data
3. Limit, untuk membatasi jumlah baris yang diambil
SELECT

Deskripsi Syntax Umum

Ambil satu kolom SELECT nama_kolom


FROM nama_tabel

Ambil beberapa kolom SELECT kolom_1, kolom_2, . . . kolom_10


FROM nama_tabel

Ambil semua kolom SELECT *


FROM nama_tabel

Ambil kolom dengan SELECT DISTINCT kolom_1, …


nilai unik FROM nama_tabel
SELECTing single column

#1. Ambil kolom FirstName pada tabel customers.


SELECTing multiple columns

#2. Ambil kolom FirstName dan LastName pada tabel customers.


SELECTing all columns

#3. Ambil semua kolom pada tabel customers.


SELECTing unique values

#4. Ambil nilai unik kolom Company pada tabel customers.


WHERE

Deskripsi Syntax Umum

Filter kolom numerik SELECT *


FROM nama_tabel
WHERE kolom_num <c.o*> value
Filter kolom text SELECT *
FROM nama_tabel
WHERE kolom_txt <c.o*> ‘value’

= sama dengan
!= tidak sama dengan
*<c.o>: > lebih besar dari
Comparisson Operator < lebih kecil dari
>= lebih besar sama dengan
<= lebih kecil sama dengan
Filtering Numerical Column

#1. Ambil nama dan composer track yang memiliki harga satuan 0.99.
Filtering Numerical Column

#2. Ambil semua detail track yang memiliki durasi lebih besar dari 300,000 ms.
Filtering Numerical Column

#3. Ambil TrackId dan nama track yang memiliki ukuran memori lebih
kecil dari 5,000,000 bytes (5 mb).
Filtering Text Column

#4. Ambil CustomerID, LastName customer yang di kota Prague.


Filtering Text Column

#5. Ambil semua detail customer yang bukan di negara USA.


Filtering Text Column

#6. Ambil LastName dan Title employees yang di-hire setelah 1 Okt 2003.
WHERE with Logical Operator

Deskripsi Syntax Umum

Menampilkan data SELECT *


untuk kondisi tidak FROM nama_tabel
terpenuhi (not true) WHERE NOT kondisi_filter
Menampilkan data SELECT *
untuk semua kondisi FROM nama_tabel
terpenuhi WHERE kondisi_1 AND kondisi_2
Menampilkan data SELECT *
untuk salah satu kondisi FROM nama_tabel
terpenuhi WHERE kondisi_1 OR kondisi_2
Filtering Multiple Conditions - NOT

#1. Ambil semua detail customers yang negaranya bukan di Brazil.


Filtering Multiple Conditions - AND

#2. Ambil semua detail track yang harganya 0.99 dan di atas 300,000 ms.
Filtering Multiple Conditions - AND

#3. Ambil semua detail track yang durasinya lebih besar dari 180,000 ms
dan lebih kecil dari 300,000 ms.
Filtering Multiple Conditions - AND

#4. Ambil semua detail track yang ukurannya di bawah 5,000,000 bytes,
durasinya lebih besar dari 180,000 ms dan lebih kecil dari 300,000 ms.
Filtering Multiple Conditions - OR

#5. Ambil semua detail customer yang negaranya di France juga


Germany.
Filtering Multiple Conditions - AND+OR

#6. Ambil semua detail employee yang di-hire sebelum tahun 2003 dan
jabatannya General Manager atau Sales Support Agent.
WHERE is the null??

Deskripsi Syntax Umum

Menampilkan baris yang SELECT *


tidak null pada kolom FROM nama_tabel
tertentu WHERE nama_kolom IS NOT NULL
Menampilkan baris yang SELECT *
null pada kolom tertentu FROM nama_tabel
WHERE nama_kolom IS NULL
Filtering out null values

#1. Ambil semua detail customer yang kolom company tidak null.
Filtering to find null values

#2. Ambil semua detail customer yang tidak punya fax.


LIMIT

Deskripsi Syntax Umum

Membatasi hanya n-baris SELECT *


yang tampil FROM nama_tabel
(WHERE kondisi_filter)
LIMIT n
LIMITing rows

#1. Ambil sampel 3 baris pertama dari tabel employees.


Mini Challenges
Let’s practice!
#1

Tampilkan semua detail customer di


mana kolom fax, company dan state
tidak null.
#2

Tampilkan nama-nama track yang


durasinya tidak di antara 3-5 menit.
#3

Tampilkan data invoice pada bulan


Desember tahun 2010 dan bulan
Desember tahun 2011 yang total
penjualannya lebih dari 5 dollar.
That’s All!

Anda mungkin juga menyukai