MODUL PERKULIAHANPEMROGRAMAN DATABASE 1
MULYADI, S.KOM, M.S.I
SISTEM INFORMASI
STIKOM DINAMIKA BANGSA JAMBI
2019
Pemrograman Database STIKOM Dinamika Bangsa
BASIC INSTUCTION OFSQL DATA RETRIEVAL
Perintah dasar SQL yang digunakan untuk menampilkan data (Data Retrieval) adalah
SELECT dengan bentuk umum penulisan adalah sebagai berikut :
SELECT digunakan mengidentifikasi kolom/field
FROM digunakan mengidentifikasi tabel
Ada beberapa cara dalam menampilkan seluruh data dalam suatu tabel, yaitu :
1. Menampilkan seluruh isi tabel (seluruh field)
Contoh :
SELECT * FROM employees;
2. Menampilkan sebagian saja dari isi tabel (sebagian field)
Contoh :
SELECT last_name, job_id, salary FROM employees;
3. Menggunakan Operator Arithmetik :
2
SELECT * |{[DISTINCT] fields | expression [alias],….}
FROM table
SELECT * FROM table
SELECT field1, field2, …., fieldn FROM table
+ = Tambah - = Kurang * = Kali / = Bagi
Perioritas : * / + -
Pemrograman Database STIKOM Dinamika Bangsa
Contoh :
SELECT last_name, salary, salary + 300 FROM employees;
SELECT last_name, salary, 12*(salary+100) FROM employees;
4. Menggunakan Kolom Alias
Contoh :
SELECT Last_name Nama, Commission_pct Komisi FROM employees
5. Menggunakan Concatenation Operator ( || )
Operator Concatenation digunakan untuk menggabungkan field dengan field dan field
dengan karakter/string.
Contoh Penggabungan field dengan field:
SELECT last_name || department_id “Employees” FROM employees
Contoh penggabungan field dengan karakter/string :
SELECT last_name || ‘ memperoleh gaji Rp. ‘ || job_id “Data Karyawan” FROM
employees
6. Duplikasi Baris
Contoh :
SELECT department_id FROM employees
7. Menghindari Duplikasi Baris
Contoh :
SELECT DISTINCT department_id FROM employees
8. Menampilkan Struktur dari Tabel :
Contoh :
3
DESC nama_tabel
SELECT field1 nama_kolom_alias1, field1 nama_kolom_alias1, …………………………….. , fieldn nama_kolom_aliasn
FROM table
Pemrograman Database STIKOM Dinamika Bangsa
DESC departments
SELECTION & SORT
Pada bab ini membahas tentang penyeleksian data dan pengurutan data yang akan
ditampilkan. Berikut ini penjelasan tentang metode penyeleksian dan pengurutan data :
1. Mengunakan klausa WHERE untuk menyeleksi data / record.
Bentuk umum penulisan perintah SQL menggunakan klausa WHERE adalah sebagai
berikut :
Penulisan klausa WHERE diletakkan setelah klausa FROM
Penggunaan :
Where : mengakses record tertentu berdasarkan kondisi
Kondisi : terdiri dari kolom / field, ekspresi, suatu operator / kondisi
pembanding dan konstanta.
Operator Pembanding :
Operator Arti
= Sama dengan
> Lebih dari
>= Lebih dari atau sama dengan
< Kurang dari
<= Kurang dari atau sama dengan
<> Tidak sama dengan
4
SELECT * |{DISTINCT] field / expression [alias],…}FROM tabelWHERE kondisi;
Pemrograman Database STIKOM Dinamika Bangsa
Kondisi perbandingan :
Operator Arti
BETWEEN …… AND
…….
Antara dua nilai
IN (set) Nilai yang sama dengan nilai pada tanda
kurung
LIKE Menyerupai karakter tertentu
IS NULL Nilai null (kosong)
Kondisi Logika :
Operator Meaning
AND Bernilai benar jika kedua kondisi bernilai benar
OR Bernilai benar jika salah satu kondisi bernilai benar
NOT Bernilai benar jika tidak sama dengan kondisi
Prioritas :
Order Evaluated
Operator
1 Operator aritmatika ( * / + - )
2 Operator Concatenation ( || )
3 Operator Pembanding ( = > < >= <= <> )
4 IS [NOT] NULL, LIKE, [NOT] IN
5 [NOT] BETWEEN
6 Not Logical condition
7 And Logical condition
8 Or Logical Condition
Berikut beberapa contoh pemakaian operator / kondisi pembanding :
a. Contoh Pengunaan “=” untuk Numeric
5
Pemrograman Database STIKOM Dinamika Bangsa
SELECT Last_name, Department_id
FROM employees
WHERE department_id = 50
b. Contoh Pengunaan “=” untuk Character
c. Contoh Pengunaan BETWEEN
d. Contoh Pengunaan IN
e. Contoh Pengunaan LIKE
f. Contoh Pengunaan IS NULL
6
SELECT Last_name, Department_id
from employees
WHERE last_name = ‘OConnell’
SELECT Last_name, salary
FROM employees
WHERE salary BETWEEN 1500 AND 3500
SELECT last_name, salary, manager_id
FROM employees
WHERE manager_id IN (101, 108)
SELECT first_name
FROM employees
WHERE first_name LIKE ‘A%’
SELECT last_name, Manager_id
FROM employees
WHERE manager_id IS NULL
Pemrograman Database STIKOM Dinamika Bangsa
g. Contoh Pengunaan AND Operator
h. Contoh Pengunaan OR Operator
i. Contoh Pengunaan NOT Operator
j. Contoh Pengunaan Rules of Precedence 1
k. Contoh Pengunaan Rules of Precedence 2
2. Mengunakan klausa ORDER BY untuk mengurutkan data
Mengurutkan record dengan menggunakan klausa ORDER BY
- ASC : Secara Ascending, default
- DESC : Secara Descending
7
SELECT Last_name, Department_id, salary
FROM employees
WHERE salary >=1400 AND last_name LIKE ‘E%’
SELECT last_name, salary, manager_id
FROM employees
WHERE manager_id NOT IN (101, 102, 108)
SELECT Last_name, Department_id, salary
FROM employees
WHERE department_id= 40
OR department_id= 50 AND salary > 1400
SELECT Last_name, Department_id, salary
FROM employees
WHERE ( department_id = 40 OR department_id =
50 )
SELECT Last_name, Department_id, salary
FROM employees
WHERE salary >=1400 OR Last_name LIKE ‘E%’
Pemrograman Database STIKOM Dinamika Bangsa
Penggunaan kalusa ORDER BY diletakkan di akhir pernyataan SELECT
a. Pengunaan ORDER BY dengan ASC
b. Pengunaan ORDER BY dengan DESC
8
SELECT last_name, department_id, manager_id,
salary
FROM employees
ORDER BY department_id
SELECT last_name, department_id, manager_id,
salary
FROM employees
ORDER BY department_id DESC
Pemrograman Database STIKOM Dinamika Bangsa
FUNCTION
Pada bab ini mempelajari penggunaan fungsi dalam perintah SQL yang berguna untuk
memanipulasi record-record yang ditampilkan sesuai dengan kebutuhan informasinya. Bentuk
umum pemakaian fungsi adalah sebagai berikut :
Beberapa fungsi yang akan dibahas antara lain :
1. Character Functions terbagi 2, yaitu :
a. Case-manipulation functions
Fungsi ini digunakan untuk mengkonversi tampilan format huruf (Besar/Kecil), antara
lain :
LOWER digunakan untuk mengkonversi ke huruf kecil semua
UPPER digunakan untuk mengkonversi ke huruf besar semua
INITCAP digunakan untuk mengkonversi huruf awal setiap kata ke huruf besar dan
huruf lainnya ke huruf kecil.
Contoh 1:
Fungsi Hasil
LOWER(‘SQL Course’) sql course
UPPER(‘SQL Course’) SQL COURSE
INITCAP(‘SQL Course’) Sql Course
9
Nama_Fungsi [(ekspresi1, ekspresi2, …..)]
Pemrograman Database STIKOM Dinamika Bangsa
Contoh 2 :
b. Character-manipulation functions
Fungsi ini digunakan untuk memanipulasi karakter, antara lain :
CONCAT digunakan untuk menggabungkan nilai dari suatu ekspresi dengan nilai
dari ekspresi yang lain. Hampir sama dengan concatenation operator (||)
SUBSTR digunakan untuk mengambil karakter tertentu dari suatu ekspresi
LENGTH digunakan untuk menghitung jumlah karakter dari suatu ekspresi
INSTR digunakan untuk mengetahui letak dari suatu karakter tertentu dari suatu
ekspresi
LPAD digunakan untuk menempatkan karakter tertentu disisi kiri suatu nilai
sebanyak n dari seluruh total jumlah karakter.
RPAD digunakan untuk menempatkan karakter tertentu disisi kanan suatu nilai
sebanyak n dari seluruh total jumlah karakter.
TRIM digunakan untuk menghilangkan karakter awal atau akhir dari suatu ekspresi.
REPLACE digunakan untuk mencari karakter tertentu dari suatu ekspresi, bila
ditemukan akan digantikan dengan karakter yang lain.
Contoh 1 :
FUNGSI HASIL
CONCAT(‘Hello’, ‘World’) HelloWorld
SUBSTR(‘HelloWorld’,1,5) Hello
LENGTH(‘HelloWorld’) 10
INSTR(‘HelloWorld’, ‘W’) 6
LPAD(salary,10,’*’) *****24000
RPAD(salary, 10, ‘*’) 24000*****
10
SELECT ‘Jabatan untuk ’ || UPPER(last_name) || ‘ adalah ‘ ||
LOWER(job_id) “Data Karyawan”
FROM employees
Pemrograman Database STIKOM Dinamika Bangsa
TRIM(‘H’ FROM ‘HelloWorld’) elloWorld
Contoh 2 :
2. Number Function
Fungsi ini digunakan untuk memformat tampilan angka. Berikut ini beberapa fungsi dari
Number Function
ROUND : digunakan untuk pembulatan angka hingga mengikuti format angka
desimal tertentu
ROUND (45.926, 2) = 45.93
TRUNC : digunakan untuk memformat angka hingga mengikuti format angka
desimal tertentu
TRUNC (45.926,2) = 45.92
MOD : digunakan untuk menentukan sisa hasil pembagian.
MOD(1600,300) =100
Contoh :
3. Working with Dates
Sebelum membahas tentang fungsi yang berhubungan dengan penggunaan data tanggal,
berikut ini ada penggolongan dari suatu format data waktu, misalnya untuk tanggal 12
Juni 2007 Jam 19:05:43 dijabarkan sebagai berikut :
11
SELECT department_id, CONCAT(first_name, last_name) “Nama”,
LENGTH(last_name) “Jumlah Karakter pada Nama”,
INSTR(last_name, ‘a’) “posisi huruf ‘a’ pada Nama” FROM employees
SELECT Last_name “Nama”, Salary “Gaji perbulan” ,
ROUND(Salary/30,0) “Kebutuhan perhari” , MOD(Salary , 30) “Sisa
Gaji”
FROM Employees ;
Century Year Month Day Hour Minute Second
20 11 12 20 19 05 43
Pemrograman Database STIKOM Dinamika Bangsa
Berikut ini adalah beberapa fungsi yang berhubungan dengan penggunaan data tanggal
a. SYSDATE adalah fungsi yang digunakan untuk menampilkan tanggal dan waktu dari
sistem.
Contoh :
SELECT SYSDATE FROM DUAL;
b. Operasi Aritmatika pada data tanggal
Operasi aritmatika pada data tanggal mengikuti aturan sebagai berikut :
Operasi Hasil Penjelasan
Date + number(n) Date Menambah n hari pada data tanggal
Date – number(n) Date Mengurangi n hari dari data tanggal
Date-date Number Menghasilkan selisih hari diantara 2 tanggal
Date + number(n)/24 Date Menambah n jam dari data tanggal
Contoh :
c. Date Functions
FUNGSI Keterangan
MONTHS_BETWEEN Menampilkan Jumlah Bulan antara 2 tanggal
ADD_MONTHS Menambah Jumlah Bulan pada suatu tanggal
NEXT_DAY Menampilkan tanggal dari nama hari tertentu
LAST_DAY Menampilkan tanggal akhir bulan
ROUND Pembulatan data tanggal
TRUNC Truncate data tanggal
Contoh :
12
SELECT SYSDATE “Tgl. Sekarang” , SYSDATE + 7 “Tgl. Minggu
Depan”,
SYSDATE – 30 “Tgl. Bulan Lalu”, SYSDATE + 48/24 “Tgl. Lusa”
FROM DUAL ;
Pemrograman Database STIKOM Dinamika Bangsa
* MONTHS_BETWEEN (’01-SEP-95’,’11-JAN-94’) = 19.6774194
* ADD_MONTHS (’11-JAN-94,6) = ’11-JUL-94’
* NEXT_DAY (’01-SEP-95’,’FRIDAY’) = ’08-SEP-95’
* LAST_DAY(’01-FEB-95’) = ’28-FEB-95’
Mengunakan DATE Functions
MISALKAN SYSDATE = ’12-JUN-08’ :
* ROUND (SYSDATE,’MONTH’) 01-JUN-08
* ROUND (SYSDATE,’YEAR’) 01-JAN-08
* TRUNC (SYSDATE,’MONTH’) 01-JUN-08
* TRUNC (SYSDATE,’YEAR’) 01-JAN-08
Contoh :
Menggunakan TO_CHAR Function With Date
Menggunakan TO_CHAR Function With Number
13
SELECT department_id, Hire_date, ROUND(Hire_date,'MONTH'),
TRUNC(Hire_date,'MONTH') FROM employees
WHERE Hire_date LIKE '%90'
SELECT Last_name, TO_CHAR(Hire_date,'DD Month YYYY')
“Tanggal Mulai Bekerja”
FROM employees
9 = mewakili digit angka
0 = menampilkan angka 0
$ = menampilkan simbol $
. = menampilkan simbol desimal
, = menampilkan simbol pemisah
ribuan
Pemrograman Database STIKOM Dinamika Bangsa
Contoh :
Menggunakan TO_NUMBER DAN TO_DATE Function
Syntax :
Contoh :
Current Year Specified Date RR Format YY Format
1995 27-oct-95 1995 1995
1995 27-oct-17 2017 1917
2001 27-oct-17 2017 2017
2001 27-0ct-95 1995 2095
Keterangan :
2 digits year of Spesified Date (Format RR)
0 - 49 50 - 99
2 digits year of Current
Year
0 – 49Abad / century sama
dengan abad pd Current Year
Abad / century dibawah dari abad pada Current Year
50 - 99Abad / century di atas
dari abad pada Current Year
Abad / century sama dengan abad pd Current Year
Contoh :
14
SELECT Last_Name, TO_CHAR(salary, '$99,999.00') “Gaji”
FROM employees
WHERE last_name ='Whalen'
TO_NUMBER(char, [’format_model’])
TO_DATE(char, [’format_model’])
SELECT Last_name, TO_CHAR(hire_date, 'DD-Mon-
YYYY')
FROM employees
WHERE hire_date > TO_DATE('01-Jan-90','DD-Mon-RR')
Pemrograman Database STIKOM Dinamika Bangsa
3. General Function
Fungsi-fungsi berikut digunakan sehubungan dengan type data NULL
NVL : mengkonversi data Null ke nilai tertentu
Contoh :
SELECT last_name, salary “Gaji”, NVL(commission_pct,0) “Komisi”,
(salary*12) + (salary*12*NVL(commission_pct,0)) “Penghasilan pertahun”
FROM employees ;
NVL2 : Mengkonversi data dengan 2 kondisi
Contoh :
SELECT last_name, salary “Gaji”, commission_pct “Komisi”,
NVL2(commission_pct, 'Gaji + Komisi', 'Gaji') “Penghasilan”
FROM employees WHERE department_id in (40,80)
NULLIF : Membandingkan dua ekspresi, jika keduanya bernilai sama maka akan
ditampilkan nilai NULL, namun jika berbeda yang ditampilkan
adalah nilai pada ekspresi pertama.
15
NVL (eksp1, eksp2)Keterangan
Eksp1 : Ekspresi yang mengandung nilai NULLEksp2 : Nilai yang akan menggantikan nilai NULL
Pada Eksp1
NVL (eksp1, eksp2, eksp3)
Keterangan Jika eksp1 mengandung nilai NULL, maka akan digantikan dengan nilai pada eksp3, namun jika tidak mengandung nilai NULL maka akan digantikan dengan nilai pada eksp2
NULLIF (eksp1, eksp2)
Pemrograman Database STIKOM Dinamika Bangsa
Contoh :
SELECT first_name, LENGTH(first_name) "Ekspresi 1",
last_name, LENGTH(last_name) "Ekspresi 2",
NULLIF(LENGTH(First_name), LENGTH(last_name)) “Hasil”
FROM employees
COALESCE : Menampilkan nilai NOT NULL dari urutan ekspresi yang dituliskan.
Contoh :
SELECT last_name, COALESCE(commission_pct, salary, 10) “Komisi” FROM
employees ORDER BY commission_pct
4. Group Functions
Pada kasus seleksi data seringkali diminta untuk menampilkan atau memilih sekumpulan
data berdasarkan kelompok data tertentu. Untuk menyelesaikan masalah tersebut, SQL
menyediakan perintah atau sintax Group By. Pada pengelompokan data biasanya
disertakan bersama Aggregate Function. Dalam hal ini implementasinya, Aggregate
Function harus diikuti group by bila terdapat field lain yang dijadikan sebagai kriteria
pengelompokkan.
Bentuk Umum
16
COALESCE(eksp1, eksp2,…..ekspn)
SELECT column, group_function(column)
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
Pemrograman Database STIKOM Dinamika Bangsa
Kriteria HAVING adalah : kriteria pemilihan atau seleksi data dengan menggunakan
kata HAVING, Kata HAVING ini bisa berupa HAVING Count(nama_field), having
SUM(nama_field), dan lain-lain.
Berikut ini adalah beberapa group functions yang digunakan :
1. Penggunaan AVG
Fungsi ini digunakan untuk mencari harga rata-rata dari sekumpulan data yang ada.
Tampilkan rata-rata dari gaji berdasarkan kode Departement :
Input :
SELECT Department_id, AVG(salary) from employees
GROUP BY Department_id
2. Penggunaan COUNT( )
Fungsi ini digunakan untuk mencari cacah atau banyaknya data.
Contoh :
SELECT COUNT(DISTINCT department_id)
FROM employees
3. Penggunaan MIN( ) dan MAX( ), SUM( )
Fungsi MIN( ) digunakan untuk mencari harga minimum dan MAX( ) mencari harga
maximum serta SUM( ) mencari total dari sekumpulan data yang ada.
Contoh :
SELECT MIN(salary), MAX(salary), SUM(salary)
FROM employees
Contoh lain :
SELECT MIN(salary), MAX(salary), SUM(salary)
FROM employees
WHERE Last_name LIKE 'E%'
Bisa juga menggunakan klausa WHERE dan klausa GROUP BY serta HAVING, seperti
contoh-contoh berikut :
Contoh :
SELECT AVG(salary) FROM employees
WHERE department_id=30
Contoh :
17
Pemrograman Database STIKOM Dinamika Bangsa
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
Bandingkan hasil jika menggunakan HAVING :
Contoh :
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
HAVING MAX(salary) >15000
Bandingkan hasil jika menggunakan Order By Descending:
Contoh :
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id
HAVING MAX(salary) >15000
ORDER BY department_id DESC
4. Conditional Expressions :
Fungsi ini sama dengan logika IF-THEN-ELSE, yang kita tuliskan sebagai pernyataan
SQL. Ada 2 fungsi, yaitu CASE dan DECODE
CASE Function :
Contoh :
Select last_name, department_id, Salary,
CASE department_id WHEN 40 THEN 1.10*salary
WHEN 50 THEN 1.15*salary
WHEN 70 THEN 1.20*salary
ELSE salary
END "Kenaikan Gaji"
18
CASE Ekpresi WHEN nilai1 THEN Pernyataan 1 WHEN nilai2 THEN Pernyataan 2 ……………………………………………..
WHEN nilain THEN Pernyataan n ELSE Pernyataan_alternatif
END
Pemrograman Database STIKOM Dinamika Bangsa
FROM Employees
DECODE Function :
Contoh :
SELECT last_name, department_id, Salary,
DECODE (department_id, 40, 1.10*salary, 50, 1.15*salary,
70, 1.20*salary, salary)
“Kenaikan Gaji”
FROM Employees
19
DECODE (Kolom / ekspresi, Nilai1, Pernyataan1,
Nilai2, Pernyataan2,
……………………,
Nilain,Pernyataann,
Pernyataan_alternatif )
Pemrograman Database STIKOM Dinamika Bangsa
DISPLAYING DATA FROM MULTIPLE TABLES
Salah satu fitur SQL yang paling berguna adalah kemampuan untuk mengabungkan
tabel – tabel dan mendapatkan data dari tabel tabel tersebut. Namun untuk mempelajari ini
terlebih dahulu anda harus memahami tabel relasional dan rancangan database relasional.
Berikut sebuah contoh pengabungan tabel-tabel tanpa where caluse yang
menyebabkan terjadinya Cartesian Product.
Cartesian Product adalah : Hasil yang dikembalikan oleh sebuah tabel relasional dimana
Jumlah baris yang didapatkan kembali akan menjadi jumlah baris dalam tabel pertama
dikalikan dengan jumlah baris pada tabel kedua.
Contoh :
SELECT last_name, department_name
FROM employees, departments
Jika dilihat dari hasil diatas terdapat 300 rows padahal didalam contoh diatas datanya
hanya sebanyak 25 rows, hal diatas terjadi karena tidak adanya Filter sehingga dalam
prosesnya komputer mengkombinasikan kedua tabel diatas. Untuk itu diperlukan cara yang
benar dalam mengakses data yang bersumber lebih dari satu tabel.
1. Penggunaan klausa WHERE
Contoh :
SELECT Employees.department_id, Employees.last_name,
Departments.department_name
20
SELECT table1.column, table2.columnFROM table1, table2WHERE table1.column1 = table2.column2
Pemrograman Database STIKOM Dinamika Bangsa
FROM Employees, Departments
WHERE Employees.Department_id=Departments.Department_id
Didalam pencarian datanya juga bisa menggunakan kondisi.
Contoh :
SELECT Employees.department_id, Employees.last_name,
Departments.department_name
FROM Employees, Departments
WHERE Employees.Department_id=Departments.Department_id AND
Last_name = ‘Fay’ ;
Serta juga bisa menggunakan Tabel alias.
Contoh :
SELECT E.department_id, E.last_name, D.department_name
FROM Employees E, Departments D
WHERE E.Department_id=D.Department_id
(Jelas bagi kita ternyata hasilnya sama dengan yang tidak menggunakan kolom alias)
2. Penggunaan JOIN ON
Fungsi ini sama halnya dengan penggunaan klausa WHERE, namun pernyataan relational
databasenya di tuliskan setelah perintah ON
Contoh :
SELECT E.department_id, E.last_name, D.department_name
FROM Employees E JOIN Departments D
ON E.Department_id=D.Department_id
3. Penggunaan NATURAL JOIN :
Kapanpun tabel digabungkan, sedikitnya ada satu kolom yang akan muncul pada lebih
dari satu tabel (kolom akan digabungkan). Penggabungan standar mengembalikan semua
data, bahkan banyak kejadian pada kolom yang sama. Natural Join hanya mengurangi
kejadian tersebut sehingga hanya satu pada setiap kolom yang dikembalikan.
Contoh :
SELECT last_name, department_name
FROM employees
NATURAL JOIN departments
21
Pemrograman Database STIKOM Dinamika Bangsa
4. Penggunaan OUTER JOIN
Kebanyakan join menghubungkan baris-baris dalam satu tabel dengan baris-baris tabel
lainnya. Tetapi kadang-kadang Anda perlu memasukkan baris yang tidak mempunyai
baris-baris yang berhubungan.
Contoh :
SELECT E.department_id, E.last_name, D. department_id,
D.department_name
FROM Employees E, Departments D
WHERE E.Department_id(+)=D.Department_id
5. Joining a Table to Itself
Penggabungan tabel juga bisa dilakukan dengan tabel itu sendiri
Contoh :
SELECT Karyawan.last_name || ' bawahan dari ' || Manager.last_name
FROM Employees Karyawan, Employees Manager
WHERE Karyawan.manager_id= Manager.employee_id
6. Creating Cross Joins
Klausa CROSS JOIN menghasilkan hasil persilangan dari dua tabel, sama halnya dengan
Cartesian Product pada dua table.
Contoh :
SELECT last_name, department_name
FROM employees
CROSS JOIN departments
22
Pemrograman Database STIKOM Dinamika Bangsa
SUBQUERIES
Subquery adalah Query didalam query. Artinya seleksi data berdasarkan hasil seleksi
data yang telah ada. Sintax SQL nya sama syntax SQL pada umumnya, tetapi kondisi setelah
where diikuti dengan query baru atau subquery. Syntaxnya :
Contoh :
SELECT Last_name, salary, department_id, manager_id
FROM employees
WHERE salary =
(SELECT salary
FROM employees
WHERE department_id=40)
Contoh Menggunakan AND Single-ROW Subqueries:
SELECT Last_name, salary, department_id, Manager_id
FROM employees
WHERE salary =
(SELECT salary
FROM employees
WHERE department_id=40)
AND manager_id =
(SELECT manager_id
FROM employees
23
SELECT nama_field-1,…..,nama_field-n
FROM nama_tabel
WHERE kriteria (SELECT nama_field-1, ……., nama_field-n
FROM nama_tabel
WHERE kriteria)
Pemrograman Database STIKOM Dinamika Bangsa
WHERE department_id=40)
Contoh Menggunakan OR Single-ROW Subqueries:
SELECT Last_name, salary, department_id, Manager_id
FROM employees
WHERE salary =
(SELECT salary
FROM employees
WHERE department_id=40)
OR manager_id =
(SELECT manager_id
FROM employees
WHERE department_id=40)
Contoh Menggunakan Function dalam Subqueries:
SELECT last_name, Department_id, salary
FROM employees
WHERE salary = ( SELECT MIN(salary)
FROM employees)
Contoh Menggunakan HAVING dan Subqueries:
SELECT department_id, MIN(salary)
FROM employees
GROUP BY Department_id
HAVING MIN(salary) >
(SELECT MIN(salary)
FROM employees
WHERE Department_id=40)
24