Anda di halaman 1dari 32

MI2154 – SQL Lanjut

Semester Genap/ Tahun Ajaran 2015-2016

Pernyataan (Sintaks)
SELECT
Disusun oleh:
Ir. Ely Rosely, M.B.S. – ely.rosely@tass.telkomuniversity.ac.id

Hanya dipergunakan untuk kepentingan pengajaran di Lingkungan Universitas Telkom


Tujuan Pembelajaran
1. Siswa mengerti kemampuan SQL untuk pernyataan SELECT
2. Siswa mampu menerapkan pernyataan SELECT dasar
3. Siswa memahami aturan-aturan pada pernyataan SELECT
4. Siswa mampu menggunakan alias untuk nama kolom
5. Siswa mampu menampilkan semua baris dan kolom dari tabel
6. Siswa mampu menampilkan kolom spesifik dari tabel
7. Siswa mampu menampilkan data tanpa duplikasi
8. Siswa mampu menampilkan data menggunakan klausa WHERE
9. Siswa mampu menggunakan klausa ORDER BY untuk mengurutkan baris
data
Pendahuluan
 Pernyataan (sintaks) SELECT digunakan untuk menampilkan data
yang ada dalam basis data
 Kemampuan yang dimiliki oleh sintaks SELECT adalah:
- menampilkan semua data dari suatu tabel
- menampilkan beberapa kolom dari suatu tabel
- menampilkan beberapa baris dari suatu tabel
- menampilkan data yang berasal dari beberapa tabel
Kemampuan Pernyataan SELECT
Tabel1 Tabel1 Tabel1

Gambar 1 Gambar 2 Gambar 3

Tabel1 Tabel 2

JOIN

Gambar 4
Format Sintaks SELECT

SELECT *|{[DISTINCT] column|expression [alias],...}


FROM table;

 SELECT menunjukkan kolom-kolom apa saja yang akan ditampilkan


- asteris (*) artinya semua kolom ditampilkan
- asteris dapat digantikan dengan nama semua kolom dalam suatu tabel
 FROM menunjukkan tabel dimana kolom-kolom tersebut berada
 Keseluruhan sintaks SELECT ini disebut juga query
Menampilkan Semua Data
SELECT *
FROM produk;
Atau

SELECT kdproduk, nmproduk, satuan, harga, stok


FROM produk;

KDPRODUK NMPRODUK SATUAN HARGA STOK


P-001 Sabun mandi batang buah 7500 50
P-002 Sabun mandi cair botol 100ml 15000 21
P-003 Sabun cuci sachet 5 sachet 7500 70
P-004 Sabun cuci cair botol 500ml 12000 11
P-005 Sabun mandi kotak kotak 22000 4
P-006 Pelembut pakaian botol 1000ml 15000 7
P-007 Pewangi pakaian botol 1000ml 12000 5
P-008 Minyak goreng botol 1000ml 25000 26

8 rows selected.
Menampilkan Beberapa Kolom

SELECT kdproduk, nmproduk


FROM produk;

KDPRODUK NMPRODUK
P-001 Sabun mandi batang
P-002 Sabun mandi cair
P-003 Sabun cuci sachet
P-004 Sabun cuci cair
P-005 Sabun mandi kotak
P-006 Pelembut pakaian
P-007 Pewangi pakaian
P-008 Minyak goreng

8 rows selected.
Aturan Penulisan Sintaks SQL

 Sintaks SQL tidak ‘case-sensitive’.


 Sintaks SQL dapat ditulis dalam beberapa baris.
 Kata kunci tidak dapat disingkat atau dipisahkan pada baris yang berbeda.
 Klausa sebaiknya ditempatkan pada baris yang berbeda.
 Penulisan secara indent dapat memudahkan dalam membacanya.
 Dalam iSQL*Plus, bila terdapat beberapa sintaks SQL, maka setiap sintaks
SQL dipisahkan dengan semicolon (;).
 Dalam SQL*plus, semicolon (;) harus ada pada setiap akhir dari sintaks
SQL.
Membuat Alias Kolom (Column
Alias)
Alias kolom adalah:
 Nama lain dari nama kolom
 Mengganti nama kolom dalam tampilan
 Berguna untuk memberi nama kolom perhitungan
 Diletakkan setelah nama kolom (atau diberi keyword AS
diantara nama kolom dan alias kolom).
 Bila ingin menggunakan special characters atau case
sensitive, maka harus digunakan tanda petik ganda.
Penggunaan Alias Kolom

SELECT kdproduk as kode, nmproduk nama_produk


FROM produk;
KODE NAMA_PRODUK _
P-001 Sabun mandi batang
P-002 Sabun mandi cair
P-003 Sabun cuci sachet
...
8 rows selected.

SELECT kdproduk “Kode”, nmproduk as “Nama Produk” FROM


produk;

Kode Nama Produk


P-001 Sabun mandi batang
P-002 Sabun mandi cair
P-003 Sabun cuci sachet
Data Duplikat
SELECT kdproduk
FROM penjualan_detail;

KDPRODUK
P-001
P-003
P-002
P-005
P-006
P-005
P-008

7 rows selected.

Data yang ditampilkan ada yang duplikat, yaitu P-005


Menghindari Duplikasi Data
SELECT DISTINCT kdproduk
FROM penjualan_detail;

KDPRODUK
P-003
P-005
P-006
P-008
P-001
P-002

6 rows selected.

Data P-005 tidak duplikat.


Menghindari Duplikasi Data
SELECT DISTINCT kdproduk, kdjual
FROM penjualan_detail;

KDPRODUK KDJUAL
P-001 T-001
P-003 T-001
P-002 T-002
P-005 T-002
P-006 T-002
P-005 T-003
P-008 T-004
7 rows selected.

Kombinasi data kdproduk dan kdjual tidak ada yang duplikat.


Membatasi Jumlah Baris Data
KDPRODUK NMPRODUK SATUAN HARGA STOK
P-001 Sabun mandi batang buah 7500 50
P-002 Sabun mandi cair botol 100ml 15000 21
P-003 Sabun cuci sachet 5 sachet 7500 70
P-004 Sabun cuci cair botol 500ml 12000 11
P-005 Sabun mandi kotak kotak 22000 4
P-006 Pelembut pakaian botol 1000ml 15000 7
P-007 Pewangi pakaian botol 1000ml 12000 5
P-008 Minyak goreng botol 1000ml 25000 26

Menampilkan data yang


mempunyai satuan
‘botol 1000ml’

KDPRODUK NMPRODUK SATUAN HARGA STOK


P-006 Pelembut pakaian botol 1000ml 15000 7
P-007 Pewangi pakaian botol 1000ml 12000 5
P-008 Minyak goreng botol 1000ml 25000 26
Membatasi Jumlah Baris Data

Format:
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];

- Penggunaan WHERE setelah FROM digunakan untuk membatasi


jumlah baris data.
- Condition terdiri dari nama kolom, ekspresi, nilai konstan, dan operator
pembanding
Penggunaan Klausa WHERE

Select *
FROM produk
WHERE satuan=’botol 1000ml’;

KDPRODUK NMPRODUK SATUAN HARGA STOK


P-006 Pelembut pakaian botol 1000ml 15000 7
P-007 Pewangi pakaian botol 1000ml 12000 5
P-008 Minyak goreng botol 1000ml 25000 26
Karakter dan Date

• Nilai karakter dan date harus menggunakan tanda petik tunggal.


• Nilai karakter bersifat case-sensitive, dan nilai date bersifat
format-sensitive.
• Format date default adalah DD-MON-RR

SELECT kdproduk, nmproduk, satuan


FROM produk
WHERE satuan = ‘buah’;

KDPRODUK NMPRODUK SATUAN


P-001 Sabun mandi batang buah
Operator Pembanding
OPERATOR KETERANGAN
= Sama dengan
> Lebih besar
>= Lebih besar sama dengan
< Lebih kecil
<= Lebih kecil sama dengan
<> Tidak sama dengan
BETWEEN ... AND ... Diantara dua nilai
IN (set) Sesuai dengan nilai yang ada
LIKE Sesuai dengan pola
IS NULL Sama dengan nilai null

Tanda != dan ^= dapat digunakan untuk menyatakan kondisi tidak


sama dengan.
Penggunaan Operator Pembanding

Select kdproduk, nmproduk, stok


FROM produk
WHERE stok < 10;

KDPRODUK NMPRODUK STOK


P-005 Sabun mandi kotak 4
P-006 Pelembut pakaian 7
P-007 Pewangi pakaian 5
Penggunaan BETWEEN

SELECT nmproduk, stok


FROM produk
WHERE stok BETWEEN 10 AND 30;

Dapat juga menggunakan operator pembanding lainnya:

SELECT nmproduk, stok


FROM produk
WHERE stok >=10 AND stok<=30;

NMPRODUK STOK
Sabun mandi cair 21
Sabun cuci cair 11
Minyak goreng 26
Penggunaan Kondisi IN

SELECT nmproduk, satuan, stok


FROM produk
WHERE satuan IN (‘buah’, ‘kotak’);

NMPRODUK SATUAN STOK


Sabun mandi batang buah 50
Sabun mandi kotak kotak 4
Penggunaan Kondisi LIKE

• digunakan untuk membuat pencarian nilai karakter.


• kondisi pencarian dapat mengandung karakter atau numerik:
– tanda % menunjukkan 0 sampai banyak karakter.
– tanda _ menunjukkan satu karakter.

SELECT nmproduk, satuan, stok


FROM produk
WHERE nmproduk LIKE ‘Sabun%’;

NMPRODUK SATUAN STOK


Sabun mandi batang buah 50
Sabun mandi cair botol 100ml 21
Sabun cuci sachet 5 sachet 70
Sabun cuci cair botol 500ml 11
Sabun mandi kotak kotak 4
Penggunaan Kondisi LIKE

dapat digabungkan juga untuk mencari pola nilai karakter

SELECT nmproduk, satuan, stok


FROM produk
WHERE satuan LIKE ‘_u%’;

Sintaks SQL di atas untuk mencari data yang satuannya mempunyai


huruf u pada huruf ke duanya.

NMPRODUK SATUAN STOK


Sabun mandi batang buah 50
Penggunaan Kondisi NULL

digunakan untuk menampilkan data yang nilai kolomnya NULL.

SELECT kdpetugas, nmpetugas, tglmasuk


FROM petugas
WHERE tglmasuk IS NULL;

Sintaks SQL di atas untuk mencari data yang nilai tglmasuk nya NULL

KDPETUGAS NMPETUGAS TGLMASUK


K-004 Tina Pelangi
Operator Logika
Operator logika digunakan dalam kondisi pada klausa WHERE

OPERATOR KETERANGAN
AND Bernilai TRUE jika kedua kondisi
juga TRUE
OR Bernilai TRUE jika salah satu kondisi
TRUE
NOT Bernilai TRUE jika kondisi yang
mengikutinya FALSE
Penggunaan Operator AND

Operator AND membutuhkan kedua kondisi bernilai TRUE.

SELECT kdproduk, nmproduk, satuan, stok


FROM produk
WHERE nmproduk LIKE 'P%'
AND stok > 5;

Sintaks SQL di atas menghasilkan data:


KDPRODUK NMPRODUK SATUAN STOK
P-006 Pelembut pakaian botol 1000ml 7
Penggunaan Operator OR

Operator OR membutuhkan salah satu kondisi bernilai TRUE.

SELECT kdproduk, nmproduk, satuan, stok


FROM produk
WHERE nmproduk LIKE 'P%'
OR stok > 50;

KDPRODUK NMPRODUK SATUAN STOK


P-003 Sabun cuci sachet 5 sachet 70
P-006 Pelembut pakaian botol 1000ml 7
P-007 Pewangi pakaian botol 1000ml 5
Penggunaan Operator NOT
Operator NOT membutuhkan kondisi yang mengikutinya bernilai
FALSE.

SELECT nmproduk, satuan


FROM produk
WHERE satuan NOT IN ( ‘buah’, ’kotak’, ‘5 sachet’);

NMPRODUK SATUAN _
Sabun mandi cair botol 100ml
Sabun cuci cair botol 500ml
Pelembut pakaian botol 1000ml
Pewangi pakaian botol 1000ml
Minyak goreng botol 1000ml
Penggunaan Klausa ORDER BY
• digunakan untuk mengurutkan data berdasarkan kolom yang
digunakan dalam ORDER BY.
• diletakkan pada posisi terakhir dalam sintaks SELECT.
• terdapat 2 jenis pengurutan:
– ASC : mengurutkan dari yang kecil ke yang besar, merupakan
urutan default.
– DESC : mengurutkan dari yang besar ke yang kecil.

SELECT nmpetugas, tglmasuk


Default
FROM petugas
ASC
ORDER BY tglmasuk;

NMPETUGAS TGLMASUK
Darma Persada 15-JUL-13
Beni Pratama 15-SEP-13
Susi Aprilia 15-JAN-14
Tina Pelangi -
Penggunaan Alias Kolom
dalam Klausa ORDER BY
Penggunaan DESC digunakan agar data terurut menurun

SELECT nmpetugas, tglmasuk


FROM petugas
ORDER BY tglmasuk DESC;

Penggunaan column alias dapat digunakan dalam klausa ORDER


BY
SELECT nmpetugas, tglmasuk mulaikerja
FROM petugas
ORDER BY mulaikerja DESC ;
Penggunaan Klausa ORDER BY
Berdasarkan Beberapa Kolom
Pengurutan berdasarkan beberapa kolom
SELECT nmproduk, satuan, stok
FROM produk
ORDER BY nmproduk, satuan DESC;

Pengurutan berdasarkan nomor urut kolom dalam klausa


SELECT
SELECT nmproduk, satuan, stok
FROM produk
ORDER BY 1,2 DESC;
Reference

 N. Greenberg. Oracle Database 10g: SQL Fundamental 1 –


Volume 1 Student Guide. California: Oracle Publisher 2004.

Anda mungkin juga menyukai