MI 2143 Dasar SQL Semester Ganjil Tahun Ajaran

  • Slides: 29
Download presentation
MI 2143 – Dasar SQL Semester Ganjil / Tahun Ajaran 2014 -2015 Pernyataan (Sintaks)

MI 2143 – Dasar SQL Semester Ganjil / Tahun Ajaran 2014 -2015 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

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

Pendahuluan Pernyataan (sintaks) SELECT digunakan untuk menampilkan data yang ada dalam basis data Kemampuan

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 Tabel 1 Gambar 1 Tabel 1 Gambar 3 Gambar 2 Tabel

Kemampuan Pernyataan SELECT Tabel 1 Gambar 1 Tabel 1 Gambar 3 Gambar 2 Tabel 1 JOIN Gambar 4

Format Sintaks SELECT *|{[DISTINCT] column|expression [alias], . . . } FROM table; SELECT menunjukkan

Format Sintaks 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 suatu tabel dalam 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

Menampilkan Semua Data SELECT * FROM produk; Atau SELECT kdproduk, nmproduk, satuan, harga, stok FROM produk; KDPRODUK P-001 P-002 P-003 P-004 P-005 P-006 P-007 P-008 NMPRODUK Sabun mandi batang Sabun mandi cair Sabun cuci sachet Sabun cuci cair Sabun mandi kotak Pelembut pakaian Pewangi pakaian Minyak goreng 8 rows selected. SATUAN HARGA STOK buah 7500 50 botol 100 ml 15000 21 5 sachet 7500 70 botol 500 ml 12000 11 kotak 22000 4 botol 1000 ml 15000 7 botol 1000 ml 12000 5 botol 1000 ml 25000 26

Menampilkan Beberapa Kolom SELECT kdproduk, nmproduk FROM produk; KDPRODUK P-001 P-002 P-003 P-004 P-005

Menampilkan Beberapa Kolom SELECT kdproduk, nmproduk FROM produk; KDPRODUK P-001 P-002 P-003 P-004 P-005 P-006 P-007 P-008 8 rows selected. NMPRODUK Sabun mandi batang Sabun mandi cair Sabun cuci sachet Sabun cuci cair Sabun mandi kotak Pelembut pakaian Pewangi pakaian Minyak goreng

Aturan Penulisan Sintaks SQL tidak ‘case-sensitive’. Sintaks SQL dapat ditulis dalam beberapa baris. Kata

Aturan Penulisan 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 i. SQL*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

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

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 _ P-001 P-002 P-003 Nama Produk Sabun mandi batang Sabun mandi cair 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

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

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

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 P-001 Sabun mandi batang buah P-002 Sabun

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

Membatasi Jumlah Baris Data Format: SELECT *|{[DISTINCT] column|expression [alias], . . . } FROM

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 1000 ml’; KDPRODUK NMPRODUK P-006

Penggunaan Klausa WHERE Select * FROM produk WHERE satuan=’botol 1000 ml’; KDPRODUK NMPRODUK P-006 Pelembut pakaian P-007 Pewangi pakaian P-008 Minyak goreng SATUAN botol 1000 ml HARGA 15000 12000 25000 STOK 7 5 26

Karakter dan Date • Nilai karakter dan date harus menggunakan tanda petik tunggal. •

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 P-001 Sabun mandi batang SATUAN buah

Operator Pembanding OPERATOR KETERANGAN = Sama dengan > Lebih besar >= Lebih besar sama

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

Penggunaan Operator Pembanding Select kdproduk, nmproduk, stok FROM produk WHERE stok < 10; KDPRODUK P-005 P-006 P-007 NMPRODUK Sabun mandi kotak Pelembut pakaian Pewangi pakaian STOK 4 7 5

Penggunaan BETWEEN SELECT nmproduk, stok FROM produk WHERE stok BETWEEN 10 AND 30; Dapat

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 Sabun mandi cair Sabun cuci cair Minyak goreng STOK 21 11 26

Penggunaan Kondisi IN SELECT nmproduk, satuan, stok FROM produk WHERE satuan IN (‘buah’, ‘kotak’);

Penggunaan Kondisi IN SELECT nmproduk, satuan, stok FROM produk WHERE satuan IN (‘buah’, ‘kotak’); NMPRODUK Sabun mandi batang Sabun mandi kotak SATUAN buah kotak STOK 50 4

Penggunaan Kondisi LIKE • digunakan untuk membuat pencarian nilai karakter. • kondisi pencarian dapat

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 Sabun mandi batang Sabun mandi cair Sabun cuci sachet Sabun cuci cair Sabun mandi kotak SATUAN buah botol 100 ml 5 sachet botol 500 ml kotak STOK 50 21 70 11 4

Penggunaan Kondisi LIKE dapat digabungkan juga untuk mencari pola nilai karakter SELECT nmproduk, satuan,

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 Sabun mandi batang SATUAN buah STOK 50

Penggunaan Kondisi NULL digunakan untuk menampilkan data yang nilai kolomnya NULL. SELECT kdpetugas, nmpetugas,

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 K-004 NMPETUGAS Tina Pelangi TGLMASUK

Operator Logika Operator logika digunakan dalam kondisi pada klausa WHERE OPERATOR AND OR NOT

Operator Logika Operator logika digunakan dalam kondisi pada klausa WHERE OPERATOR AND OR NOT KETERANGAN Bernilai TRUE jika kedua kondisi juga TRUE Bernilai TRUE jika salah satu kondisi TRUE Bernilai TRUE jika kondisi yang mengikutinya FALSE

Penggunaan Operator AND membutuhkan kedua kondisi bernilai TRUE. SELECT kdproduk, nmproduk, satuan, stok FROM

Penggunaan 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 STOK P-006 NMPRODUK SATUAN Pelembut pakaian botol 1000 ml 7

Penggunaan Operator OR membutuhkan salah satu kondisi bernilai TRUE. SELECT kdproduk, nmproduk, satuan, stok

Penggunaan Operator OR membutuhkan salah satu kondisi bernilai TRUE. SELECT kdproduk, nmproduk, satuan, stok FROM produk WHERE nmproduk LIKE 'P%' OR stok > 50; KDPRODUK P-003 P-006 P-007 NMPRODUK Sabun cuci sachet Pelembut pakaian Pewangi pakaian SATUAN 5 sachet botol 1000 ml STOK 70 7 5

Penggunaan Operator NOT membutuhkan kondisi yang mengikutinya bernilai FALSE. SELECT nmproduk, satuan FROM produk

Penggunaan Operator NOT membutuhkan kondisi yang mengikutinya bernilai FALSE. SELECT nmproduk, satuan FROM produk WHERE satuan NOT IN ( ‘buah’, ’kotak’, ‘ 5 sachet’); NMPRODUK Sabun mandi cair Sabun cuci cair Pelembut pakaian Pewangi pakaian Minyak goreng SATUAN _ botol 100 ml botol 500 ml botol 1000 ml

Reference N. Greenberg. Oracle Database 10 g: SQL Fundamental 1 – Volume 1 Student

Reference N. Greenberg. Oracle Database 10 g: SQL Fundamental 1 – Volume 1 Student Guide. California: Oracle Publisher 2004.