Anda di halaman 1dari 19

BAHASA BASIS DATA LANJUTAN

1.1 Fungsi Aggregation


Pada bab sebelumnya sudah dibahas tentang fungsi-fungsi
dalam SQL dan termasuk didalamnya adalah fungsi agregasi. Fungsi-
fungsi tersebut adalah sbb:

1. AVG() – mengembalikan nilai rata


2. COUNT() – mengembalikan jumlah data
3. FIRST() – mengembalikan nilai awal data
4. LAST() – mengembalikan nilai terakhir dari data
5. MAX() – mengembalikan nilai terbesar dari data
6. MIN() – mengembalikan nilai terkecil dari data
7. SUM() – mengembalikan hasil penjumlahan dari data

Contoh penggunaan fungsi agregasi SQL sbb:

SELECT COUNT (Nim) as Jumlah FROM Mahasiswa

Perintah diatas akan menghasilkan output sbb:

Jumlah
5

Dengan menggunakan fungsi agregasi kolom data yang


ditampilkan terbatas pada kolom fungsi saja, misalkan diinginkan untuk
menampilkan jumlah mahasiswa tiap jurusan
Perintah SQL sbb: SELECT KodeJur, COUNT(Nim) as Jumlah FROM
Mahasiswa akan menimbulkan kesalahan. Hal ini dikarenakan fungsi
agregasi akan mengelompokan data sesuai dengan kolomnya,
sementara ada kolom KodeJur pada SELECT tersebut yang tidak
dikelompokan.
Untuk menanggulangi masalah ini maka diperlukan perintah query
tambahan berupa GROUP BY, yang akan mengelompokan data sesuai
dengan yang ada dalam kolom data yang akan ditampilkan. Struktur
penulisan GROUP BY sbb:
SELECT kolom_data, fungsi_agregasi()
FROM tabel_data
GROUP BY kolom_data

Jadi perintah SQL untuk menampilkan jumlah mahasiswa per


jurusan adalah sbb:
SELECT KodeJur, COUNT(Nim) as JumlahMhs
FROM Mahasiswa GROUP BY KodeJur;

Berikut terdapat sebuah tabel Kurikulum untuk mencoba lebih


lanjut fungsi agregasi
Tabel 0-1 Data Kurikulum
Semester KodeMK KodeKur NamaMK Sks
1 IF0141 MI08 Algoritma dan Pemrograman 4
1 IF0143 MI08 Pemrograman I 3
1 KA0181 MI08 Paket Aplikasi I 2
1 ST0101 MI08 Kalkulus 4
1 TK0117 MI08 Fisika Dasar 4
1 TK0121 MI08 Organisasi Komputer 3
2 IF0142 MI08 Stuktur Data 4
2 IF0144 MI08 Pemrograman II 3
2 IF0146 MI08 Pemrograman Visual 3
2 KA0182 MI08 Paket Aplikasi II 2
2 KU0102 MI08 Pendidikan Pancasila 2
2 KU0108 MI08 Pendidikan Kewarganegaraan 2
2 TK0122 MI08 Arsitektur Komputer 3
2 TK0124 MI08 Pengantar Teknologi Informasi 2
3 IF0201 MI08 Logika Matematika 3
3 IF0223 MI08 Sistem Berkas & Pengantar 3
Basis Data
3 IF0231 MI08 Pemrograman Internet I 3
3 KU0203 MI08 Pendidikan Agama 2
3 ST0203 MI08 Aljabar Linier 3
3 ST0209 MI08 Probabilistik dan Statistik 3
3 TK0221 MI08 Pemrograman III 3
4 IF0202 MI08 Matematika Diskrit 3
4 IF0234 MI08 Komunikasi Data 3
4 IF0292 MI08 Rekayasa Perangkat Lunak 3
4 SI0272 MI08 Sistem Basis Data I 3
4 SI0278 MI08 Sistem Operasi 3
4 SI0282 MI08 Pemrograman Internet II 3
4 SI0292 MI08 Sistem Informasi 3

1. Tampilkan jumlah matakuliah per semester

SELECT Semester, Count(KodeMk) as JmlMK


FROM Kurikulum
GROUP BY Semester;

Hasil query yang didapat adalah sbb:

Tabel 0-2 Hasil Query Jumlah Matakuliah per Semester


Semester JmlMK
1 6
2 8
3 7
4 7

2. Tampilkan jumlah Sks per semester

SELECT Semester, Sum(Sks) as JmlSks


FROM Kurikulum
GROUP BY Semester;
Hasil query yang didapat adalah sbb:

Tabel 0-3 Hasil Query Jumlah Sks per Semester


Semester JmlSks
1 20
2 21
3 20
4 21
3. Tampilkan jumlah matakuliah dan jumlah sks per semester

SELECT Semester, Count(kodeMk) as


JmlMK,Sum(Sks) as JmlSks
FROM Kurikulum
GROUP BY Semester;

Tabel 0-4 Hasil Query Jumlah matakuliah dan Sks per Semester
Semester JmlMK JmlSks
1 6 20
2 8 21
3 7 20
4 7 21

4. Tampilkan jumlah sks per kelompok matakuliah. Kelompok


matakuliah ditandai dengan dua huruf pertama pada kolom
kodeMK

SELECT LEFT(kodeMk,2) as KelompokMK,


sum(SKs) as JmlSks
FROM Kurikulum
GROUP BY LEFT(kodeMk,2);

Hasil query yang didapat adalah sbb:

Tabel 0-5 Hasil Query Kelompok Matakuliah


KelompokMK JmlSks
IF 35
KA 4
KU 6
SI 12
ST 10
TK 15
Setiap dialek dari SQL ini membuat fungsi-fungsi masing
sehingga menjadi salah satu nilai lebih dari dialek SQL ini. Untuk itu
pada saat mempelajari sebuah dialek SQL maka perlu diperhatikan
kekhasan untuk masing-masing dialek. Sebagai contoh (walaupun
bukan bagian dari sub bab ini) saya berikan contoh perintah untuk
membatasi data yang akan ditampilkan untuk masing-masing dialek
SQL ini.

Tabel 0-6 Perbandingan Perintah SQL untuk Limit


Perintah SQL RDBMS
SELECT * FROM T LIMIT 10 PostgreSQL, MySQL, SQLite,
H2
SELECT * from T WHERE ROWNUM <= Oracle (mulai dari Oracle8i)
10
SELECT FIRST 10 * from T Ingres
SELECT FIRST 10 * FROM T order by a Informix
SELECT * FROM T FETCH FIRST 10 DB2
ROWS ONLY
SELECT TOP 10 * FROM T MS SQL Server, Sybase ASE,
MS Access
SELECT TOP 10 START AT 20 * FROM T Sybase SQL Anywhere

1.2 Query dari Beberapa Tabel


Dibagian sebelumnya telah dibahan untuk meng-query data dari
satu tabel dengan berbagai macam pola dan fungsi-fungsi yang dapat
digunakannya. Pada bagian ini akan dibahas query yang didasarkan
pada beberapa tabel (dua atau lebih tabel) yang saling terkait untuk
menghasilkan informasi
Perintah query SELECT * from Mahasiswa kurang begitu
infromatif dari data yang dihasilkannya, karena data jurusan hanya
ditampilkan kode jurusan saja, seharusnya data jurusan ditampilkan
nama jurusan. Data nama jurusaan berada di tabel Jurusan. Oleh sebab
itu maka perlu dikaitkan antar tabel matakuliah dengan tabel Jurusan.
Dilihat dari hubungan antar tabel seperti yang terlihat pada
gambar dibawah ini adalah sbb:

Tabel 0-7 Mahasiswa dan tabel Jurusan


Tabel Mahasiswa
Nim Nama Alamat KodeJur

Tabel Jurusan
KodeJur NamaJur

Maka kaitan antara tabel Mahasiswa dan tabel Jurusan adalah


pada kolom KodeJur di kedua tabel. Penyambungan dilakukan dengan
perintah sbb:

Mahasiswa.kodeJur = Jurusan.KodeJur

Perintah ini akan ditempatkan pada klausa WHERE pada perintah


SELECT dan sebelumnya harus disebuntukan pada FROM kedua tabel
tersebut. Perintah lengkapnya sbb:

SELECT Nim, Nama, NamaJur


FROM Mahasiswa, Jurusan
WHERE Mahasiswa.kodeJur = Jurusan.KodeJur

Sehingga output yang dihasilkan adalah sbb:

Tabel 0-8 Output Relasi antar Tabel


Nim Nama NamaJur
12121001 Sonny Teknik Infromatika
22121001 Ali Komputer Akuntansi
32121001 Aji Manajemen Informatika
32121002 Bayu Manajemen Informatika
Bentuk penulisan query diatas dapat juga menggunakan
keyword JOIN sebagai pengembangan dari model sebelumnnya.
Bentuk penulisan SELECT JOIN adalah sbb:

SELECT nama_kolom
FROM nama_tabel_1
INNER JOIN nama_tabel_2
ON kolom_relasi_tabel

Berikut contoh penggunaan INNER JOIN dengan menggunakan


masalah diatas

SELECT Nim, Nama, NamaJur


FROM Mahasiswa
INNER JOIN Jurusan
ON Mahasiswa.kodeJur = Jurusan.KodeJur

1.3 Nama Alias


Nama alias dapat diberikan untuk nama kolom dan juga untuk
nama tabel. Pemberian nama alias menggunakan keyword AS. Nama
alias ini sangat diperlukan untuk menyingkat penulisan-penulisan
perintah query yang komplek dan banyak.
Struktur penulisan nama tabel adalah sbb:

SELECT nama_kolom
FROM nama_tabel AS nama_alias

Contoh perintah SQL untuk penggunaan alias ini adalah sbb:

SELECT Nim, Nama, NamaJur


FROM Mahasiswa AS M, Jurusan AS J
WHERE M.kodeJur = J.KodeJur

Contoh lain sbb:

SELECT Nim, Nama, M.kodeJur, NamaJur


FROM Mahasiswa AS M, Jurusan AS J
WHERE M.kodeJur = J.KodeJur
Perintah INNER JOIN juga dapat menggunakan alias sbb:

SELECT Nim, Nama, NamaJur


FROM Mahasiswa AS m
INNER JOIN Jurusan AS j
ON m.kodeJur = j.KodeJur

Pembuatan alias selain menggunakan keyword AS juga dapat


menggunakan spasi sebagai pemisah dari nama tabel dan nama alias.
Contoh sbb:
SELECT Nim, Nama, NamaJur
FROM Mahasiswa m
INNER JOIN Jurusan j
ON m.kodeJur = j.KodeJur

1.4 Bentuk-bentuk Perintah Join


Perintah JOIN ini terdiri dari berbagai variasi, sebelumnya telah
dibahas JOIN dengan INNER JOIN. INNER JOIN ini mensyaratkan data
di kedua belah tabel singkon (ada di tabel mahasiswa dan ada di tabel
jurusan). Data yang tidak singkron tidak akan ditampilkan sebagai hasil
query tersebut.
Bentuk variasi lainnya adalah OUTER JOIN, perintah JOIN ini
memungkinkan untuk menampilkan data yang tidak singkron diatara
kedua tabel tersebut ditampilkan. Data yang tidak singkron nantinya
akan diberikan nilai NULL. Ketidak singkronan ini dapat dari satu sisi
tabel atau bahkan di kedua sisi tabel tersebut sehingga data NULL nya
pun dapat muncul di sisi kiri maupun disisi kanan atau bahkan dikedua
sisi tersebut.
Penulisan query untuk OUTER JOIN ini dibentuk menjadi 3
bagian sbb:
1. LEFT JOIN
2. RIGHT JOIN
3. FULL JOIN

Untuk menjalankan perintah OUTHER JOIN ini akan digunakan


tabel Pengarang dan tabel Penerbit. Secara relasi kedua tabel ini tidak
ada hubungan sama sekali. Dan hanya mungkin di relasikan
bedasarkan kota yang ada di tabel pengarang dan tabel penerbit
tersebut.

Tabel 0-9 Pengarang


KodePeng NamaPeng KotaTinggal
172-32-1176 Johnson White Menlo Park
213-46-8915 Marjorie Green Oakland
238-95-7766 Cheryl Carson Berkeley
267-41-2394 Michael O'Leary San Jose
274-80-9391 Dean Straight Oakland
341-22-1782 Meander Smith Lawrence
409-56-7008 Abraham Bennet Berkeley
427-17-2319 Ann Dull Palo Alto
472-27-2349 Burt Gringlesby Covelo
486-29-1786 Charlene Locksley San Francisco

Tabel 0-10 Penerbit


NamaPen Kota
New Moon Books Boston
Binnet & Hardley Washington
Algodata Infosistems Berkeley
Five Lakes Publishing Chicago
Ramona Publishers Dallas
GGG&G München
Scootney Books New York
Lucerne Publishing Paris

1.4.1 LEFT JOIN


Bentuk umum penulisan LEFT JOIN adalah sbb:

SELECT nama_kolom
FROM nama_tabel_1
LEFT JOIN nama_tabel_2
ON relasi_tabel
Perintah LEFT JOIN ini akan menghasilkan seluruh baris data
pada nama_tabel_1 (yang ada diseblah kiri) walaupun dalam relasi
tidak singkron dengan nama_tabel_2 (disebelah kanan).
Ketika data tidak ditemukan pada nama_tabel_2, maka akan
diberikan nilai NULL pada data tersebut.
Berikut perintah LEFT JOIN yang akan menampilkan data
pengarang yang nama kotanya sesuai dengan kota penerbit

SELECT KodePeng, NamaPeng, Kota


FROM Pengarang p
LEFT JOIN Penerbit t
ON p.KotaTinggal=t.Kota

Tabel 0-11 Hasil Relasi Left Join


KodePeng NamaPeng Kota
172-32-1176 Johnson White NULL
213-46-8915 Marjorie Green NULL
238-95-7766 Cheryl Carson Berkeley
267-41-2394 Michael O'Leary NULL
274-80-9391 Dean Straight NULL
341-22-1782 Meander Smith NULL
409-56-7008 Abraham Bennet Berkeley
427-17-2319 Ann Dull NULL
472-27-2349 Burt Gringlesby NULL
486-29-1786 Charlene Locksley NULL

Penulisan klausa LEFT JOIN dapat juga dituliskan LEFT OUTER


JOIN sehingga perintah SQL nya sbb:

SELECT KodePeng, NamaPeng, Kota


FROM Pengarang p
LEFT OUTER JOIN Penerbit t
ON p.KotaTinggal=t.Kota
1.4.2 RIGHT JOIN
Bentuk umum penulisan RIGHT JOIN adalah sbb:

SELECT nama_kolom
FROM nama_tabel_1
RIGHT JOIN nama_tabel_2
ON relasi_tabel

Perintah RIGHT JOIN ini akan menghasilkan seluruh baris data


pada nama_tabel_2 (yang ada disebelah kanan) walaupun dalam relasi
tidak singkron dengan nama_tabel_1 (disebelah kiri).
Ketika data tidak ditemukan pada nama_tabel_1, maka akan
diberikan nilai NULL pada data tersebut.
Berikut perintah RIGHT JOIN yang akan menampilkan data
pengarang yang nama kotanya sesuai dengan kota penerbit

SELECT KodePeng, NamaPeng, Kota


FROM Pengarang p
RIGHT JOIN Penerbit t
ON p.KotaTinggal=t.Kota

Tabel 0-12 Hasil Relasi Right Join


KodePeng NamaPeng Kota
NULL NULL Boston
NULL NULL Washington
238-95-7766 Cheryl Carson Berkeley
409-56-7008 Abraham Bennet Berkeley
NULL NULL Chicago
NULL NULL Dallas
NULL NULL München
NULL NULL New York
NULL NULL Paris
Penulisan klausa RIGHT JOIN dapat juga dituliskan RIGHT OUTER
JOIN sehingga perintah SQL nya sbb:

SELECT KodePeng, NamaPeng, Kota


FROM Pengarang p
RIGHT OUTER JOIN Penerbit t
ON p.KotaTinggal=t.Kota

1.4.3 FULL JOIN


Bentuk umum penulisan FULL JOIN adalah sbb:

SELECT nama_kolom
FROM nama_tabel_1
FULL JOIN nama_tabel_2
ON relasi_tabel

Perintah FULL JOIN ini akan menghasilkan seluruh baris data


pada nama_tabel_1 (yang ada disebalah kiri) dan akan menampilkan
seluruh baris nama_tabel_1 (disebelah kanan) walaupun ada tidak
singkron diantara keduanya.
Ketika data tidak ditemukan pada nama_tabel_1 dan
nama_tabel_2, maka akan diberikan nilai NULL pada data tersebut.

Berikut perintah FULL JOIN yang akan menampilkan data


pengarang yang nama kotanya sesuai dengan kota penerbit

SELECT KodePeng, NamaPeng, Kota


FROM Pengarang p
FULL JOIN Penerbit t
ON p.KotaTinggal=t.Kota

Tabel 0-13 Hasil Relasi Full Join


KodePeng NamaPeng Kota
172-32-1176 Johnson White NULL
213-46-8915 Marjorie Green NULL
238-95-7766 Cheryl Carson Berkeley
267-41-2394 Michael O'Leary NULL
274-80-9391 Dean Straight NULL
341-22-1782 Meander Smith NULL
409-56-7008 Abraham Bennet Berkeley
427-17-2319 Ann Dull NULL
472-27-2349 Burt Gringlesby NULL
486-29-1786 Charlene Locksley NULL
NULL NULL Washington
NULL NULL Chicago
NULL NULL Boston
NULL NULL Paris
NULL NULL New York
NULL NULL Dallas
NULL NULL München

1.5 Subquery
Subquery adalah sebuah bentuk perintah SELECT yang
mengembalikan nilai yang ada kepada perintah lain berupa perintah
SELECT, INSERT, UPDATE dan DELETE atau dengan kata lain subquery
adalah query dalam query.
Subquery merupakan alternative dalam membuat perintah SQL
yang menggunakan JOIN, dimana hal ini dibuat untuk meningkatkan
performance terhadap perintah query tersebut. namun demikian,
tergantung kepada data jika kalau ingin dibandingkan mana yang lebih
baik antara subquery dengan JOIN ini.
Subquery dapat ditempatkan pada perintah SELECT setelah
klausa Select, From, Where, Group BY dan Having. Umumnya perintah
sub Query ini mengikuti format sebagai berikut:
 WHERE ekspresi [NOT] IN (subquery)
 WHERE ekspresi operator perbandingan [ANY | ALL] (subquery)
 WHERE [NOT] EXISTS (subquery)

Untuk melakukan percobaan terhadap perintah sub Query ini


akan disediakn dua buah tabel yaitu tabel Penerbit, tabel Pengarang
dan tabel Buku
Tabel 0-14 Data Penerbit
KodePen NamaPen Kota
0736 New Moon Books Boston
0877 Binnet & Hardley Washington
1389 Algodata Infosistems Berkeley
1622 Five Lakes Publishing Chicago
1756 Ramona Publishers Dallas
9901 GGG&G München
9952 Scootney Books New York
9999 Lucerne Publishing Paris

Tabel 0-15 Data Buku


Kode
Kode JudulBuku Jenis
Pen
BU1032 The Busy Executive's Database business 1389
Guide
BU1111 Cooking with Computers: business 1389
Surreptitious Balance Sheets
BU2075 You Can Combat Computer business 0736
Stress!
BU7832 Straight Talk About Computers business 1389
MC2222 Silicon Valley Gastronomic Treats mod_cook 0877
MC3021 The Gourmet Microwave mod_cook 0877
MC3026 The Psychology of Computer UNDECIDED 0877
Cooking
PC1035 But Is It User Friendly? popular_comp 1389
PC8888 Secrets of Silicon Valley popular_comp 1389
PC9999 Net Etiquette popular_comp 1389

Tabel 0-16 Data Pengarang


KodePeng NamaPeng KotaTinggal
172-32-1176 Johnson White Menlo Park
213-46-8915 Marjorie Green Oakland
238-95-7766 Cheryl Carson Berkeley
267-41-2394 Michael O'Leary San Jose
274-80-9391 Dean Straight Oakland
341-22-1782 Meander Smith Lawrence
409-56-7008 Abraham Bennet Berkeley
427-17-2319 Ann Dull Palo Alto
472-27-2349 Burt Gringlesby Covelo
486-29-1786 Charlene Locksley San Francisco

Operator IN
Subquery dengan menggunakan operator IN adalah akan me-list
hasil dari subquery untuk dibandingkan dengan ekspresi where yang
diberikan. Subquery akan dijalankan terlebih dahulu baru kemudian
query pemanggilnya akan dijalankan.
Berikut contoh perintah Subquery untuk menampilkan nama
penerbit untuk buku yang berjenis business dengan menggunakan
operator IN

SELECT NamaPen
FROM Penerbit
WHERE kodePen IN
(SELECT kodePen
FROM Buku
WHERE jenis='business')

Output yang dihasilkan dari perintah Query tersebut adalah:

Tabel 0-17 Hasil Query Operator IN


NamaPen
New Moon Books
Algodata Infosistems

Berdasarkan pada perintah query diatas, pertama kali akan


menjalankan query untuk buku dahulu sehingga akan menghasilkan
nilai 1389, 1389, 0736, 1389. Kemudian akan menjalankan perintah
query pada Penerbit dengan kondisi KodePen didasarkan pada hasil
query pertama. Perintah query ini dapat diterjemahkan sbb:
SELECT NamaPen
FROM Penerbit
WHERE kodePen IN (‘1389’, ‘1389’,’0736’,
‘1389’)

Subquery diatas pun seperti dijelaskan terdahulu bahwa dapat


menggunakan perintah JOIN dengan bentuk sbb:

SELECT DISTINCT NamaPen


FROM Penerbit p
INNER JOIN Buku b
ON p.kodePen=b.KodePen
AND jenis='business'

Jika operator IN ditambahkan operator NOT maka akan menjadi


NOT IN. hal ini akan memberikan nilai kebalikan dari hasil yang didapat
dengan menggunakan perintah IN

SELECT NamaPen
FROM Penerbit
WHERE kodePen NOT IN
(SELECT kodePen
FROM Buku
WHERE jenis='business')

Tabel 0-18 Hasil Query Operator Not IN


NamaPen
Binnet & Hardley
Five Lakes Publishing
Ramona Publishers
GGG&G
Scootney Books
Lucerne Publishing
Operator EXISTS
Operator Exists ini akan melakukan pemeriksaan terhadap hasil
subqery apakah menghasilkan baris-data atau tidak, jika subquery
tersebut menghasilkan baris data maka akan mengembalikan nilai true
dan sebaliknya jika tidak menghasikan data maka akan
mengembalikan nilai false

Berikut contoh perintah Subquery untuk menampilkan nama


penerbit untuk buku yang berjenis business dengan menggunakan
operator EXISTS

SELECT NamaPen
FROM Penerbit p
WHERE EXISTS
(SELECT *
FROM Buku b
WHERE b.KodePen= p.KodePen
AND jenis='business')

Output yang dihasilkan dari perintah Query tersebut adalah:

Tabel 0-19 Hasil Query Operator Exists


NamaPen
New Moon Books
Algodata Infosistems

Jika operator EXISTS ditambahkan operator NOT maka akan


menjadi NOT EXISTS. hal ini akan memberikan nilai kebalikan dari hasil
yang didapat dengan menggunakan perintah EXISTS

SELECT NamaPen
FROM Penerbit p
WHERE NOT EXISTS
(SELECT *
FROM Buku b
WHERE b.KodePen= p.KodePen
AND jenis='business')
Output yang dihasilkan dari perintah Query tersebut adalah:
Tabel 0-20 Hasil Query Operator Not Exists
NamaPen
Binnet & Hardley
Five Lakes Publishing
Ramona Publishers
GGG&G
Scootney Books
Lucerne Publishing

Operator Komporasi
Subquery memungkinkan juga menggunakan operator
komparasi yang terdiri dari =, < >, >, > =, <, ! >, ! <, or < =. Berbeda
dengan operator sebelum penggunaaan operator ini subquery harus
menghasilkan data tunggal yang menjadi parameter untuk query
pemanggilnya.

Berikut contoh perintah Subquery untuk menampilkan nama


penerbit untuk buku yang berjenis business dengan menggunakan
operator komparasi =

SELECT NamaPeng
FROM Pengarang
WHERE KotaTinggal =
(SELECT Kota
FROM Penerbit
WHERE namaPen='Algodata Infosistems')

Output yang dihasilkan dari perintah Query tersebut adalah:

Tabel 0-21 Hasil Query Operator Komparasi


NamaPeng
Cheryl Carson
Abraham Bennet
Operator ANY dan ALL
Penggunaan operator ini dipadukan dengan operator relasi
sehingga nanti akan terbentuk >ANY, =ANY , <> ANY, >ALL dan
<>ALL
>ANY mengadung arti bahwa akan mengambil nilai lebih
besarnya dari nilai terendah yang ada dalam list tersebut. contoh >ANY
(1,2,3) maka nilai lebih besarnya adalah 1
>ALL mengandung arti bahwa akan mengambil nilai lebih
besarnya dari nilai tertinggi yang ada dalam lsit tersebut. Contoh >ALL
(1,2,3) maka nilai lebih besarnya adalah 3
=ANY pada dasarnya sama dengan fungsi operator IN yaitu akan
menyamakan apa yang ada dala list sebagai hasil dari subquerynya.
<>ANY tidak serta merta sama dengan NOT IN, hal ini berbeda karena
<>ANY menghasilkan not = a or not = b , sementara NOT IN
menghasilkan not = a and not = b. <>ALL pengertianya sama dengan
NOT IN
Berikut contoh perintah Subquery untuk menampilkan nama
penerbit untuk buku yang berjenis business dengan menggunakan
operator <>ANY
SELECT NamaPeng FROM Pengarang
WHERE KotaTinggal <>ANY
(SELECT Kota
FROM Penerbit)
Tabel 0-22 Hasil Query Operator ANY
NamaPeng
Johnson White
Marjorie Green
Cheryl Carson
Michael O'Leary
Dean Straight
Meander Smith
Abraham Bennet
Ann Dull
Burt Gringlesby
Charlene Locksley

Anda mungkin juga menyukai