A Cheat Sheets of SQL PDF
A Cheat Sheets of SQL PDF
FROM ms_pelanggan;
SELECT *
FROM ms_produk
WHEN conditional 2 THEN result
2
UNION
SELECT * FROM tabel_B;
WHERE nama_produk = ’Kotak ELSE result END
Structured Query Language, PRELIX & ALIAS Pensil DQLab’
Penggunaan UNION dengan
bahasa komputer standar yang
Prelix, digunakan sebagai label klausa WHERE
AND harga>50000;
digunakan untuk berinteraksi
nama tabel di depan nama kolom. INNER JOIN &
dengan suatu sistem database –
Alias, untuk memberikan alias FUNCTION & GROUP UNION
SELECT * FROM tabel_A
sistem manajemen database WHERE
untuk tabel maupun kolom.
relasional. SQL digunakan untuk BY sampel data : kode_pelanggan = ‘dqlabcust03’
melakukan proses pengolahan Prelix pada nama kolom: scalar, untuk mengembalikan ms_item_warna UNION
database. nilai tunggal dari suatu input. SELECT * FROM tabel_B
SELECT ms_produk.kode_produk aggregate, berfungsi untuk
SAMPEL DATA FROM ms_produk; mengembalikan nilai tunggal
WHERE
kode_pelanggan = ‘dqlabcust03’;
Tabel ms_produk
dengan melakukan perhitungan.
Deskripsi : Alias pada kolom dan tabel: Perbedaan antara JOIN dan
Note : dokumentasi lengkap UNION
SELECT dapat dilihat di dokumentasi Ms_item_kategori
no_urut AS nomor, postgresql. Hasil penggabungan dengan
nama_produk AS nama perintah JOIN :
FROM ms_produk; CONTOH QUERY :
Menggabungkan tabel secara
- 4 kolom Tabel students horizontal
SELECT *
- 10 rows FROM ms_produk t2; Harus memiliki key kolom
Tabel ms_pelanggan ………………………………………...
Deskripsi : FILTERING
- 4 kolom Klausul where :
- 12 rows
SELECT *
Concat, untuk menggabungkan
FROM ms_produk
kedua kolom. Inner join, berfungsi untuk
WHERE nama_produk = ‘Tas
Travel Organize DQLab’; SELECT StudentID, menggabungkan kedua kolom
CONCAT(FirstName, LastName) yang memiliki key kolom-nilai
SELECT STATEMENT SELECT *
AS Name yang sama dalam dua tabel tsb. # kolom A dan E merupakan key
Mengambil seluruh kolom dari FROM ms_produk kolom.
FROM students; SELECT *
tabel : WHERE harga < 5000;
FROM ms_item_warna Hasil penggabungan dengan
Operand OR : Untuk menampilkan data selisih perintah UNION :
SELECT * INNER JOIN ms_item_kategori
nilai semester siswa dengan ouput
FROM ms_produk; OR, untuk memfilter dengan ON
angka 2 desimal. Mengabungkan tabel secara
memenuhi salah satu kriteria. ms_item_warna.nama_barang=
veritikal
Mengambil beberapa kolom dari SELECT ms_item_kategori.nama_item;
Tabel harus memiliki jumlah
tabel : SELECT * StudentID, kolom yang sama
FROM ms_produk ROUND(MAX(Semester1)-
SELECT no_urut, kode_pelanggan Tidak perlu memiliki key kolom
WHERE MIN(Semester2),2) AS selisih
FROM ms_pelanggan; nama_produk=‘Gantungan Kunci FROM students
DQLab’ OR GROUP BY StudentID;
Membatasi jumlah row yang
nama_produk=’Flashdisk DQLab
ditampilkan :
64 GB’; Mengelompokkan data Union, berfungsi untuk
SELECT * menggunakan CASE…WHEN menggabungkan dua tabel tanpa
FROM ms_produk Operand AND : key kolom.
CASE
LIMIT n; AND, output harus memenuhi WHEN conditional 1 THEN result Mengabungkan kedua tabel
semua kriteria atau data tidak 1
Mengambil data tanpa duplikasi : SELECT * FROM tabel_A
diambil.
Menampilkan detail product dan DESC = nilai terbesar ke terkecil 2. Hanya dapat memiliki satu kolom
GROUP BY & subscription dari data komsumen ASC = nilai terkecil ke terbesar pada klausa SELECT
HAVING diatas dengan subqueris : 3. Untuk menghasilkan nilai lebih dari
Menentukan total transaksi konsumen:
Deskripsi tabel: satu hanya dapat digunakan dalam
SELECT customer_id, product,
SELECT DISTINCT operator IN.
Tabel customer subscription_date
Customer_ID, sum(Count_Transaction)
Berisikan data konsumen yang FROM Subscription Jenis-jenis subquery :
total_trasaksi
berlangganan jaringan internet. WHERE customer_id IN
FROM data_retail 1. Single row subquery
Kolom = id, Name, addres, Gender, (
GROUP BY 1 2. Multiple row subquery
phone, email, DOB, SELECT customer_id
ORDER BY 2 DESC; 3. Correlated subquery
Rows = 50 baris. FROM Subscription
4. single row subquery
Tabel product GROUP BY customer_id #GROUP BY 1 = GROUP BY Customer_ID - menghasilkan satu nilai output saja.
Menampilkan data product terkait HAVING COUNT (customer_id) > 1; #ORDER BY 2 = ORDER BY - Ditemukan dalam perintah WHERE
service yang diberikan penyadia jasa. ) ORDER BY customer_id ASC; total_transaksi - Operator pembanding =, <, >, <=,
Kolom = ID, product_name, price,
Menampilkan data konsumen diatas : Perintah ORDER BY dapat digunakan >=.
speed_limit, date active, end_active,
active SELECT untuk multiple kolom.
SELECT
Rows = 5 baris b.Name, b.addres, b.phone, a.product_id, Mengelompokkan dan mengurutkan data Customer_ID, Count_Transaction
Tabel subscription a.subscription_date berdasarkan konsumen dan total FROM data_retail
menampilkan data langganan customer FROM Subscription a JOIN pembelian : WHERE Count_Transaction > (
dari pemilhan produk. ON customer b
SELECT AVG (Count_Transaction) AS
Kolom = id, customer_id, product_id, WHERE b.id IN SELECT
avg_transaction
subscription_date, end_date ( Customer_ID,
FROM data_retail
Rows = 56 baris SELECT customer_id Product,
);
Tabel invoice FROM Subscription Sum(Count_Transaction) AS
Menampilkan data tagihan konsumen. GROUP BY customer_id total_pembelian_produk
Subquery diatas bekerja untuk
Kolom = invoce_id, invoice_code, HAVING COUNT (customer_id) > 1) FROM data_retail
mencari nilai rata” dari
customer_id, invoince_date, ORDER BY b.id ASC ; GROUP BY Customer_ID, Product
count_transaction yang akan
product_id, total_price, pinalty ORDER BY 1,3 DESC;
Menentukan nilai pinalty dari nilai menjadi kriteria outer query.
Rows = 200 baris
max pembayaran lebih dari Rp. Note : perintah ORDER BY dapat
Tabel payment
1000.000 : dilakukan untuk variabel yang tidak ada di Multiple row subquery
Data konsumen yang telah melakukan
dalam dataset – data yang telah di
pembayaran. SELECT - Menghasilkan lebih dari satu dari
transformasi menjadi variabel yang kita
Kolom = payment_id, invoice_id, product_id, MAX(total_price) total nilai output
inginkan.
payment_amount, payment_time FROM invoice - Digunakan dalam operator
Rows = 200 baris pembanding IN, ANY, ALL.
GROUP BY product_id SUBQUERY
HAVING digunakan untuk menggantikan HAVING MAX(total_price) > 1000000;
Menentukan nilai pinalty dari nilai Subquery, biasa disebut dengan query di SELECT
WHERE ketika menggunakan GROUP BY COUNT(DISTINCT customer_id)
yang datanya di aggregasi. min pembayaran kurang dari Rp. dalam query. Subquery memiliki dua
50.000 : bagian yaitu outer query dan inner Total_buyer_sepatu_tas
SELECT * FROM tabel1 SELECT query. Fungsi subquery : FROM data_retail
GROUP BY nama_kolom product_id, MIN(total_price) total WHERE product =’sepatu’
HAVING kondisi; 1. Dibandingkan dengan join, AND customer_id IN
FROM invoice
subquery lebih mudah (
GROUP BY product_id
Mencari daftar customer_id yang diinterpretasikan SELECT DISTINCT customer_id
HAVING MIN(total_price) < 50000;
melakukan perpindahan langganan 2. Subquery digunakan untuk FROM data_retail
menyederhanakan perintah SQL
produk : ORDER BY yang kompleks.
WHERE product = ‘tas’