to SQL Part 1
Syamil Fakhruddin
Syamil Fakhruddin H.A
A data scientist with more than 2 years experience
in data science projects. Has been involved in
smart city project (computer vision), data
migration to cloud (aws migration) and various
POC projects.
Work Experience
PT Zegen Laraka Utama
AI Engineer
Shift Academy
Tutor Data Science
RDBMS
Relational Database Management System (RDBMS)
merupakan sistem basis data yang entitas utamanya terdiri
dari tabel-tabel yang memiliki relasi dari satu tabel ke tabel
lain.
Tabel - tabel tersebut
dihubungkan oleh
parent/primary key
dan foreign key
Beberapa yang perlu kamu
tahu tentang primary key dan
foreign key :
- Harus unik
- Dalam suatu tabel hanya
terdapat satu primary key,
namun dalam beberapa
kasus bisa lebih dari 1
- Tabel boleh memiliki lebih
dari 1 foreign key
- Foreign key digunakan
untuk membuat relasi
antar tabel
Macam - macam Database Platform
Cara berkomunikasi
dengan database
*Script/Query untuk
mengelola database
Ilustrasi
Halo database,
tolong tampilkan I Don’t Understand what
nama-nama do you mean???
karyawan yang
usianya lebih dari 25
tahun!
Ilustrasi
Menganalisa
Data and Get
Menyimpan
Insight
dan Mengelola
Database
Diakses oleh
DS
Data Scientist
QUERY SQL Part 1
Sebelum kita mulai untuk
melakukan Query, kita koneksikan
dulu Postgre kita ke Dbeaver
Caranya
Masukkan
password
Copy query
requirement.sql ke sql
editor kemudian running
query nya dengan
menekan CTRL+Enter
Sebelum masuk ke kodingan kira kira bentuk database
itu seperti apa sih?
2 1 Database
2 Schema
3
3 Table
Contoh Table
Lets
Query
SELECT & FROM
SELECT
Syntax yang digunakan untuk memilih kolom apa
saja yang ingin ditampilkan
FROM
Syntax yang digunakan untuk memilih tabel apa
yang ingin digunakan
SELECT & FROM
-- Mengambil Data Employee Untuk Seluruh
Kolom
SELECT
*
FROM employees e
SELECT & FROM
-- Mengambil hanya Employe ID, First Name, dan Last Name
SELECT
employee_id ,
first_name , last_name
FROM employees e
Challange #1
1.Tampilkan Employee ID, Nama, Email, Nomor HP,
dan Salary karyawan
2.Tampilkan semua list pekerjaan dan semua kolom
yang ada pada
tabel jobs
Distinct
-- Memilih unik value
untuk job_id
SELECT
DISTINCT
job_id
FROM employees e2
Challange #2
Tampilkan manager_id secara unik dari tabel
employee
Tampilkan unik salary dari tabel employee
WHERE
-- Memilih dengan Kondisi Manager ID = 108
SELECT
employee_id , first_name , last_name
FROM employees e
WHERE manager_id = '108'
WHERE + AND / OR
-- Memilih dengan Multiple Kondisi Manager ID = 108 dan Hire Date >= 1987-06-28
SELECT
employee_id ,
first_name ,
last_name
FROM employees e
WHERE manager_id = '108'
AND hire_date >= '1987-06-28'
WHERE + BETWEEN
-- Memilih dengan Multiple Kondisi 1987-06-20 >= Hire Date >= 1987-06-28
SELECT
employee_id , first_name ,
last_name
FROM employees e
WHERE hire_date BETWEEN '1987-06-20' AND '1987-06-28'
WHERE + IN / NOT IN
-- Memilih baris dengan kondisi job_id = ('AD_VP','IT_PROG','PU_MAN')
SELECT
employee_id , first_name ,
last_name
FROM employees e
WHERE job_id IN ('AD_VP','IT_PROG','PU_MAN')
WHERE + NULL / NOT NULL
-- Memilih baris dari tabel job_history jika
departement_id NULL
SELECT *
FROM job_history jh
WHERE department_id IS NULL
Challange #3
1. Tampilkan Employee ID, Nama, Email, Nomor HP dan Salary
karyawan dengan salary minimal 7000
2. Tampilkan Employee ID, Nama, Hire Date dan Salary karyawan
dengan salary minimal 7000 maksimal 8000 dan hire_date lebih dari
1987-08-01
3. Tampilkan Employee ID, Nama, job_id karyawan yang memiliki
posisi pekerjaan (job_id = ('FI_MGR','PU_MAN','ST_MAN','SA_MAN'))
ORDER BY ASC/DESC
-- Mendapatkan 10 employee dengan salary
teratas
SELECT employee_id , first_name ,last_name
,salary FROM employees e
ORDER BY salary DESC -- Menyusun dari terbesar ke
terkecil
LIMIT 10
Challange #4
1. Tampilkan 5 employee terlama
2. Tampilkan employee dengan gaji 5000 -
10000 dan diurutkan dari
yang terbesar hingga terkecil based on
salary
Yeay, akhirnya kita
bisa menarik data
dari database!!!
Lalu bagaimana cara
membuat table?
CREATE Table
CREATE TABLE nama_table ( kolom1 tipedata1, kolom2
tipedata2, … )
CREATE Table
CREATE TABLE nama_table ( kolom1 tipedata1, kolom2
tipedata2, … )
CREATE TABLE users (
id INT,
nama VARCHAR,
birthdate DATE,
ktp BIGINT,
badge VARCHAR
)
CREATE Table
CREATE Table
Baris 1 Baris 2
Syntax untuk specifik kolom:
INSERT INTO table_name (column1,column2,...) VALUES(data1,data2,...),
(data1,data2,...)
Baris 1 Baris 2
INSERT INTO
INSERT INTO users VALUES
(1, 'Udin','1990-01-01',123123123,'Pelanggan Premium'),
(2, 'Usep','1991-01-01',321321321,'Pelanggan Biasa')
INSERT INTO
INSERT INTO users (id,nama) VALUES
(3, 'Alex'),
(4, 'Asep')
Challenge #5
Buatlah table siswa shiftacademy kelas
Data Scientist Batch 11
Kolom dibebaskan minimal 5 kolom (harus ada ID)
Sudah Beress!!
Apa yang sudah kita kuasai hari ini?
1. ...
Sudah Beress!!
Apa yang sudah kita kuasai hari ini?
1. Memahami Database dan RDBMS
2. Mengakses tabel yang sudah disediakan
3. Membuat tabel sendiri
Ada Pertanyaan??
THANK YOU