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;
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;
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;
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;
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;
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