Senin, 21 Oktober 2013

Resum Pertemuan 1-7


Resum Pertemuan 1-7
Oleh    :
            Nama   : Andi Setiawan
            Nim     : 10390100019

Mata kuliah : Structure Query Language I
Dosen : Titik Lusiani, M.Kom, OCA

Menggunakan Pernyataan SQL SELECT
Pernyataan select SQL memiliki dua hingga tiga klausa. Klausa SELECT memberitahu database tempat mencari data dan memintanya mengembalikan hasil tertentu.Catatan    Pernyataan SELECT selalu diakhiri dengan titik koma (;) di akhir klausa terakhir atau di barisnya sendiri di bagian akhir pernyataan SQL. Pernyataan select berikut ini meminta Access untuk mendapatkan informasi dari kolom E-mail Address dan Company, dari tabel Contacts, terutama tempat ditemukan “Seattle” di kolom City. Tab objek SQL yang memperlihatkan pernyataan SELECT
Kueri di atas memiliki tiga klausa SELECT, FROM, dan WHERE.

Callout 1 Klausa SELECT mencantumkan kolom yang berisi data yang ingin Anda gunakan dan yang memiliki operator (SELECT) yang diikuti oleh dua pengidentifikasi (E-mail Address and Company). Jika sebuah pengidentifikasi memiliki spasi atau karakter khusus (seperti "E-mail Address"), sertakan pengidentifikasi di dalam kurung siku.

Callout 2 Klausa FROM mengidentifikasi tabel sumber. Dalam contoh ini, klausa ini memiliki operator (FROM) yang diikuti dengan sebuah pengidentifikasi (Contacts).

Callout 3 Klausa WHERE adalah klausa opsional. Contoh tersebut memiliki sebuah operator (WHERE) yang diikuti dengan ekspresi (City="Seattle").
Contoh : Select(alamat Email),perusahaan
                From Kontak
                Where Kota=”Seattle”;

Berikut ini daftar klausa SQL yang umum:
SELECT         Cantumkan bidang yang berisi data terkait.   diperlukan
FROM             Cantumkan tabel yang berisi bidang yang berisi bidang yang tercantum dalam klausa SELECT. Diperlukan
WHERE          Tentukan kriteria bidang yang harus terpenuhi oleh tiap rekaman yang akan disertakan dalam hasil.Tidak diperlukan
ORDER BY   Tentukan cara mengurutkan hasil.      Tidak diperlukan
GROUP BY   Di dalam pernyataan SQL yang berisi fungsi agregat, cantumkan bidang yang tidak diringkas di dalam klausa SELECT.           Hanya jika ada bidang seperti itu
HAVING        Di dalam pernyataan SQL yang berisi fungsi agregat, tentukan kondisi yang bisa diterapkan pada bidang yang diringkas di pernyataan SELECT.         Tidak Diperlukan
Untuk melihat nilai berlainan saja. Gunakan kata sandi DISTINCT di klausa SELECT Anda.Misalnya, jika pelanggan Anda berasal dari beberapa kantor cabang berbeda dan beberapa di antaranya memiliki nomor telepon yang sama dan Anda hanya ingin melihat nomor telepon dicantumkan satu kali saja, klausa SELECT Anda akan menjadi seperti ini:
SELECT DISTINCT [txtCustomerPhone]   Anda bisa menggunakan nama alias tabel atau nama yang berbeda yang Anda tetapkan ke tabel dalam pernyataan select. Nama alias tabel sangat berguna jika nama tabel cukup panjang, terutama saat Anda memiliki beberapa bidang yang memiliki nama yang sama dari beberapa tabel.
Untuk memilih data dari dua bidang, yang keduanya dinamai ID, salah satunya berasal dari tabel tblCustomer dan yang lain berasal dari tabel tblOrder:
SELECT[tblCustomer].[ID],[tblOrder].[ID]Gunakan operator AS untuk menetapkan alias tabel dalam klausa FROM:FROM [tblCustomer] AS [C], [tblOrder] AS [O] Anda kemudian bisa menggunakan alias tabel-tabel tersebut di dalam klausula SELECT Anda, seperti berikut ini:
SELECT [C].[ID],[O].[ID] Klausa WHERE menyertakan kriteria yang membantu membatasi jumlah item yang dikembalikan dalam sebuah kueri.
Contoh cara mengkustomisasi klausa dasar WHERE adalah dengan membatasi hasil kueri; Misalnya Anda ingin mencari nomor telepon seorang pelanggan, dan hanya bisa mengingat nama belakangnya yaitu Bagel. Dalam contoh ini, nama belakang disimpan di bidang LastName, jadi sintaks SQL menjadi seperti:
WHERE [LastName]='Bagel'
Gunakan juga klausa WHERE untuk mengkombinasikan sumber data untuk kolom yang memiliki data yang cocok, tetapi tipe data yang berbeda. Hal ini sangat membantu karena Anda tidak bisa membuat penggabung antar bidang yang memiliki tipe data yang berbeda. Gunakan satu bidang sebagai kriteria untuk bidang lain, dengan kata sandi LIKE. Misalnya, jika Anda ingin menggunakan data dari tabel Assets dan tabel Employees, hanya saat tipe aset di dalam bidang tipe aset dari tabel Assets memiliki angka 3 di bidang Quantity dari tabel Employees, berikut bagaimana klausa WHERE Anda akan terlihat:
WHERE field1 LIKE field.
SORTIR DATA
Sortir data dilakukan untuk pengindeksan data/saat data terlalu banyak,apabila data tidak disortir maka data yang akan ditampilkan akan sesuai dengan apa yang ada dalam tabel utama, contoh : select nama_produk from produk order by nama_produk; perintah tersebut akan menyortir data dengan kolom nama_produk.
Sintaks Dasar
Perintah SELECT pada Oracle SQL minimal harus terdiri dari SELECT dan FROM.
SELECT [DISTINCT] {*, column [alias], …}
FROM table;
SELECT         : Menampilkan paling tidak satu kolom
DISTINCT      : Menghilangkan nilai duplikat
*                      : Menampilkan semua kolom
Column           : Menampilkan kolom tertentu
Alias                : Memberikan judul lain kolom
FROM table    : Menunjukkan nama tabel asal
Penulisan Perintah SQL
  • Perintah-perintah SQL dapat ditulis dalam satu baris atau lebih, namun untuk kemudahan sebaiknya setiap klausa ditulis dalam baris yang berbeda
  • Perintah-perintah SQL tidak case-sensitive
  • Gunakan perintah ED untuk mengedit perintah-perintah SQL
Menampilkan Seluruh Kolom dan Baris
Menampilkan seluruh kolom dari suatu tabel dapat dilakukan dengan dua cara, yaitu:
  • Menyebutkan seluruh nama kolom
SELECT id, name, region_id FROM department;
  • Menggunakan tanda bintang (*)
SELECT * FROM department;
Menampilkan Kolom Tertentu
Menampilkan kolom tertentu dapat dilakukan dengan cara menyebutkan nama kolom yang ingin ditampilkan datanya. Contoh berikut ini menunjukkan bagaimana cara menampilkan kolom tertentu dari tabel Department.
SELECT name FROM department;

Operasi Aritmatika
Perhitungan dapat dilakukan pada perintah SQL dengan menggunakan ekspresi aritmatika, yang dapat mengandung nama-nama kolom, nilai-nilai numerik yang teta, dan operator-operator aritmatika.
+ : Penjumlahan
- : Penguranan
* : Perkalian
/ : Pembagian
·         Operator perkalian dan pembagian memiliki prioritas di atas penjumlahan dan pengurangan
·         Operator dengan prioritas yang sama di evaluasi dari kiri ke kanan
·         Tanda kurung dapat digunakan untuk memaksa prioritas evaluasi dan memperjelas perintah
Contoh:
·         Menampilkan nama belakang dan menghitung gaji tahunan karyawan
SELECT last_name, salary*12 FROM employee;
·         Menampilkan nama belakang, gaji bulanan, dan gaji tahunan karyawan. Gaji tahunan merupakan gaji bulanan di kali dengan 12, ditambah dengan bonus 1.000.000
SELECT last_name, salary, salary*12+1000000 FROM salary;
·         Menampilkan nama belakang, gaji bulanan, dan gaji tahunan karyawan. Gaji tahunan merupakan gaji bulanan ditambah dengan bonus 1.000.000, di kali dengan 12
SELECT last_name, salary, 12*(salary+1000000) FROM employee;
Alias Kolom
SQL*Plus menggunakan nama kolom sebagai judul dalam menampilkan hasil query. Padahal terkadang nama kolom sulit di mengerti atau bahkan tidak memiliki arti. Kita dapat mengubah tampilan judul kolom menggunakan alias (nama lain).
Contoh
Menampilkan nama belakang, gaji bulanan, dan gaji tahunan karyawan. Gaji tahunan merupakan gaji bulanan di tambah dengan bonus 1.000.000, di kali dengan 12 dan di tampilkan dengan judul GAJI_TAHUNAN.
SELECT last_name, salary, 12*(salary+1000000) AS GAJI_TAHUNAN
FROM employee;
Kita boleh menggunakan AS sebelum alias kolom untuk memenuhi standar ANSI SQL 92.

Alias Kolom dengan Tanda Petik Dua
Jika alias kolom mengandung spasi, karakter khusus seperti # atau $, atau case-sensitive (membedakan huruf besar dan kecil), gunakan tanda petik dua pada alias kolom tersebut.
Contoh
Memodifikasi query sebelumnya, gaji tahunan ditampilkan dengan judul Gaji Tahunan.
SELECT last_name, salary, 12*(salary+1000000) AS “Gaji Tahunan”
FROM employee;

Operator Penggabungan
Kita dapat menggabungkan satu kolom dengan lainnya, ekspresi aritmatika, atau nilai tetap untuk menciptakan ekspresi karakter menggunakan operator penggabungan (||). Kolom-kolom pada setiap sisi dari operator di kombinasikan untuk menghasilkan satu output kolom tunggal.
Contoh:
Menampilkan nama lengkap karyawan dengan judul Karyawan.
SELECT first_name||last_name AS “Karyawan”
FROM employee;
Menampilkan nama lengkap dan jabatan karyawan dengan judul Karyawan. Dalam contoh ini antara nama depan dan nama belakang di pisahkan spasi, dan antara nama lengkap dan jabatan di pisahkan koma.
SELECT first_name||’ ‘||last_name||’, ‘||title AS “Karyawan”
FROM employee;

Manajemen Nilai Null
Null adalah nilai yang tidak tersedia, tidak diberikan, tidak diketahui, atau tidak dapat digunakan. Null tidak sama dengan nol atau spasi. Nol adalah angka, dan spasi adalah karakter. Kolom dapat mengandung nilai null, kecuali kolom yang telah didefinisikan sebagai NOT NULL atau PRIMARY KEY ketika tabel diciptakan.

Nilai Null dalam Ekspresi Aritmatika
Jika nilai kolom dalam sebuah ekspresi adalah null, maka hasilnya juga null. Sebagai contoh, jika kita berusaha melakukan pembagian terhadap nol, maka akan terjadi kesalahan. Namun jika kita membagi terhadap null, maka hasilnya adalah null.
Contoh
Menampilkan nama belakang, gaji, jabatan, dan hasil perhitungan komisi.
SELECT last_name, title, salary, salary*commission_pct/100 KOMISI
FROM employee;
Penyaringan data
1.            Menggunakan operator AND
Untuk menyaring lebih dari satu kolom maka digunakan operator and. Contoh : select nama_produk, harga_produk from produk where id_pemilik = ‘DL001’ and harga_produk <=4;
2.            Menggunakan operator OR (antara 2 kondisi)
Contoh : select nama_produk, harga_produk from produk where id_pemilik = ‘DL001’ or id_pemilik = ‘BRS01’;
3.            Menggunakan operator IN
Digunakan untuk menentukan range kondisi yang dapat disesuaikan.
Contoh : select nama_produk, harga_produk from produk where id_pemilik in (‘DL001’,‘BRS01’) order by nama_produk;
4.            Menggunakan operator NOT
Operator not dari klausa where mempunyai satu fungsi – not yang meniadakan apapun kondisi yang datang berikutnya, karena operator not tidak pernah digunakan sendirian(selalu digunakan bersama dengan operator lain).
Contoh : select nama_produk from produk where not id)pemilik = ‘DLL01’ order by nama_produk;
5.            Menggunakan tanda wildcard % (like)
Memiliki arti melakukan pencarian dan mencocokkan semua jumlah karakter yang ada.
Contoh : select id_produk, nama_produk from produk where nama_produk like ‘ikan%’;
6.            Menggunakan wildcard underscore (_)
Tanda garis bawah digunakan sama dengan %, tetapi untuk mencocokkan satu karakter tunggal bukan untuk banyak karakter.
Contoh : select id_produk, nama_produk from produk where nama_produk like ‘_inch teddy bear’;
7.            Menggunakan tanda kurung besar ( [ ] )
Digunakan untuk menentukan serangkaian karakter, satu diantaranya harus cocok dengan satu karakter dalam posisi yang ditentukan.
Contoh : select no_pelanggan from pelanggan where no_pelanggan like ‘[JM]%’ order by no_pelanggan

Data Manipulation Language (DML)

Data Manipulation Language (DML) adalah bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data. Modifikasi data terdiri dari: penambahan (insert), pembaruan (update), penghapusan (delete), seleksi data (selection) dan membuat tabel maya (view).

Penambahan data (Insert) pada sebuah tabel:
Syntax:
INSERT INTO <namaTabel> [(field1, field2, … fieldn)] VALUES <ListValues>
<ListValues> bisa berbentuk nilai tunggal atau berbentuk SQL query. Syarat dari <ListValues>, jumlah, urutan dan jenis datanya harus sama.
Contoh : insert into Mahasiswa (nrp, nama, alamat) values (’5105100234′, ‘Rayna’, ‘Surabaya’);

Pembaruan data (Update) pada sebuah tabel:
Syntax:
UPDATE <NamaTabel> SET <field1>=<nilai1> [,<field2>=<nilai2>, … <fieldn>=<nilain>]
Contoh : update Mahasiswa set nama = ‘Rama’ where nrp = ’5105100234′ ;

Penghapusan data (delete) pada sebuah tabel:
Syntax:
DELETE FROM <NamaTabel> [WHERE <kondisi>]
[Where <kondisi>] sama seperti where yang dipelajari pada SQL.
Contoh : delete from Mahasiswa where nrp = ’5105100234′;

Subquery
Merupakan istilah dari pengertian select dalam select dan digunakan untuk mencari sesuatu yang belum diketahui kondisinya.
Contoh :
·         Select * from mhs where ipk > (select nim from mhs where nim = %3901%); Select id_pelanggan form pesanan where no_pesanan in (select no_pesanan from pesanan where id_produk = ‘RGAN01’);
·         Select nama_pelanggan, no_pelanggan from pelanggan where id_pelanggan in (select no_pesanan from pesanan where id_produksi in(select no_pesanan from pesananitem where id_produksi = ‘RGA001’));
Query gabungan
·         Menggunakan union
Contoh : select no_pelanggan, email_pelanggan from pelanggan where alamat_pelanggan in (‘IL’,’IN’,’MI’) union select nama_pelanggan, email_pelanggan from pelanggan where nama_pelanggan = ‘Fun4All’;
·         Aturan Union :
setiap query dalam union harus berisi kolom, ekspresi atau fungsi agregat yang sama, kolom dan agregat harus terjadi dalam urutan yang tepat sama dalam setiap statemen select dalam union, data tipe kolom harus kompatibel tidak perlu tipe yang tepat sama, tetapi harus merupakan tipe yang dapat diubah oleh dbms.

Tidak ada komentar:

Posting Komentar