0% menganggap dokumen ini bermanfaat (0 suara)
32 tayangan8 halaman

MODUL 2 Select Dan Join

Dokumen tersebut membahas tentang statement SELECT dan JOIN dalam SQL. Secara garis besar mencakup penjelasan tentang sintaks dasar SELECT, penggunaan klausa WHERE, ORDER BY, JOIN (inner, left, right), dan contoh soal praktikum menggunakan database HR dan Chinook.

Diunggah oleh

adhiba alya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
32 tayangan8 halaman

MODUL 2 Select Dan Join

Dokumen tersebut membahas tentang statement SELECT dan JOIN dalam SQL. Secara garis besar mencakup penjelasan tentang sintaks dasar SELECT, penggunaan klausa WHERE, ORDER BY, JOIN (inner, left, right), dan contoh soal praktikum menggunakan database HR dan Chinook.

Diunggah oleh

adhiba alya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

MODUL 2

SELECT STATEMENT DAN JOIN

1. SUB KRITERIA UNJUK KERJA

Kode Sub
Topik Sub KUK
KUK
6 DML SELECT
7 DML SELECT dengan WHERE
8 Pengurutan baris dengan ORDER BY
9 DML SELECT INNER JOIN
10 DML SELECT RIGHT JOIN
11 DML SELECT LEFT JOIN

2. DASAR TEORI
2.1. Statement Select
Sintaks dasar dari Statement Select:
SELECT { * | kolom [alias] , . . . }
FROM namatabel

Sintaks Select untuk memilih semua kolom:


SELECT *
FROM namatabel
Contoh:

Sintaks Select untuk memilih menampilkan beberapa kolom:


SELECT kolom1, kolom2, . . .
FROM namatabel
Contoh:
Sintaks Select dengan ALIAS untuk ALIAS berupa satu kata:
SELECT kolom1 AS alias1 | kolom2 alias2, . . .
FROM namatabel
Contoh:

Sintaks Select dengan ALIAS untuk ALIAS berupa lebih dari satu kata:
SELECT kolom1 AS “Alias 1” | kolom2 “Alias 2”
FROM namatabel
Contoh:

Aturan penulisan statement SELECT :


 SQL Statement tidak case sensitive artinya tidak dibedakan antara penulisan huruf
kecil dan huruf besar.
 SQL Statement dapat terdiri dari lebih dari satu baris.
 Keyword tidak bisa disingkat atau dipisah di baris yang berbeda.
 Klausa biasanya ditempatkan pada baris yang berbeda.
 Inden digunakan untuk memudahkan pembacaan

2.2. Statement Select dengan Where


Kita dapat membatasi atau melakukan filter baris data yang akan disajikan dengan
keyword WHERE yang diletakkan setelah FROM
Sintaks dasar dari Statement Select dengan Where:
SELECT { * | kolom [alias] , . . . }
FROM namatabel
WHERE kolomfilter operatorpembanding nilaifilter
Contoh:

Operator pembanding dapat berupa operator equal (=) atau dapat berupa operator non-
equal (<, >, <>, !=, <=, >=, BETWEEN … AND, IN, LIKE). Syarat pembatasan baris
data boleh lebih dari satu dan disatukan dengan operator AND atau OR.
Contoh:

2.3. Statement Select untuk operasi aritmatika


Statement Select dapat digunakan untuk operasi aritmatika biasa
Contoh:

Operator Precedence
Sama dengan operasi matematika biasa, SQL akan menjalankan operasi aritmatika dengan
urutan preseden sebagai berikut * / + -
Penggunaan Tanda Kurung
Klausa yang berada di dalam tanda kurung memiliki preseden paling tinggi di atas
semuanya

2.4. Statement Select dengan Tanpa Duplikat


Ada kalanya hasil dari query kita akan menampilkan hasil baris berganda/duplikat. Untuk
mengeliminasi baris duplikat tersebut, dapat digunakan keyword DISTINCT
Contoh:

2.5. Pengurutan Baris dengan Order By


Baris data dapat diurutkan tampilannya (tidak di dalam tabelnya sendiri) dengan
menggunakan keyword ORDER BY yang diletakkan di bagian paling bawah statement.
Statement dasar untuk pengurutan dinyatakan dengan:
SELECT { * | kolom [alias] , . . . }
FROM namatabel
ORDER BY kolom1 modeurut [ , kolom2 modeurut, . . . ]

Secara default, pengurutan akan dilakukan secara urut naik (ASCENDING) walaupun
Anda tidak menyertakan keyword modeurut ASC. Namun Anda dapat melakukan
pengurutan secara menurun dengan keyword modeurut DESC.

Contoh:
2.6. Konsep Join
Seringkali kita perlu menggunakan data yang berasal dari banyak table, tidak hanya berasal
dari satu table saja, semisal :
 Nomer pegawai (employee_id) hanya ada di table pegawai (EMPLOYEES)
 Nomer department (department_id) ada di table pegawai (EMPLOYEES) dan table
department (DEPARTMENTS).
 Nama departemen (Department_name) hanya ada di table department
(DEPARTMENTS)

Untuk situasi seperti ini, diperlukan sintaks yang dapat mengambil data yang saling
berhubungan dari beberapa tabel sekaligus. Operasi ini disebut dengan operasi JOIN.
Operasi JOIN sederhana dapat dilakukan dengan menggunakan keyword WHERE untuk
menemukan baris data yang ‘sama’ dari kedua tabel. Sebagai contoh, kita ingin
menampilkan nama pegawai dan nama departemen tempatnya bekerja. Dengan
menggunakan keyword WHERE, operasi JOIN ini dapat ditulis dengan:
Perlu diperhatikan di sini tabel yang di-JOIN-kan menggunakan TABLE ALIAS
(employees e, departments d). Penggunaan ALIAS ini dimaksudkan agar DBMS tidak
menemukan keambiguan karena menyebut nama kolom yang sama (dalam hal ini adalah
department_id). TABLE ALIAS juga disebutkan pada klausa SELECT untuk memberitahu
DBMS agar menampilkan kolom tertentu yang berasal dari tabel yang mana.

Hasil yang sama dapat diperoleh dengan:

Pada contoh ke-2 ini, digunakan keyword JOIN untuk menggabungkan tabel employees
dan departments

2.7. Inner VS Outer Join


Pada SQL, JOIN dari dua tabel hanya mengembalikan nilai baris yang sesuai (INNER
JOIN), sementara kadang perlu ditampilkan data dari kondisi JOIN yang tidak match. Misal
jika akan menampilkan data dari table employees dan departments, sedangkan kondisi
joinnya adalah department_id dari masing-masing table. Jika terdapat data department yang
tidak memiliki karyawan, dalam arti terdapat nomer department (department_id) pada table
departments yang tidak muncul sama sekali pada department_id yang ada pada table
employees, maka untuk memunculkannya kita perlu outer join.
Outer Join ada yang right atau left tergantung unmatched rows dari table mana kita
mengambilnya.
2.8. Left Join
Contoh:

Kimberely tidak bekerja di bawah departemen manapun, namun ditampilkan pada kondisi
JOIN ini

2.9. Right Join


Contoh:

Mulai dari Treasury ke bawah, adalah departemen yang tidak memiliki bawahan pegawai
sama sekali, namun dapat ditampilkan pada kondisi JOIN ini.

3. SOAL PRAKTIKUM
Gunakan database HR untuk nomor 1-5
1) Buat query untuk menampilkan nomer pegawai, nama, pekerjaan, dan tanggal mulai
bekerja untuk tiap pegawai!
2) Buat query untuk menampilkan gaji pegawai tahunan yang sudah ditambah dengan
komisi. Komisi diterima = gaji x commission_pct
3) Buat query untuk menampilkan nama pegawai, pekerjaan, nomer department, dan
nama department untuk semua pegawai yang bekerja di kota ‘Southlake’
4) Buat query untuk menampilkan nama pegawai dan nomer pegawai, nama manager
dan nomer pegawai dari manager.
5) Buatlah query untuk menampilkan department_id, department_name dan city untuk
semua department termasuk nama city yang tidak terdapat department di city tersebut.
Gunakan database Chinook untuk nomor 6-10
6) Buat query untuk menampilkan artistid, name, dan album title untuk semua artist
termasuk artist yang belum punya album sama sekali.
7) Buat query untuk menampilkan track-track dari album Big Ones dari Aerosmith
8) Buat query untuk menampilkan pembelian customer bernama “Victor Stevens” untuk
invoice ID nomor 201
9) Buatlah query untuk menampilkan nomor invoice, judul album, judul lagu, genre, dan
tipe medianya dari artist ‘Iron Maiden’
10) Buatlah query untuk menampilkan artist-artist, judul lagu, genre, dan judul albumnya
yang tergabung dalam playlist ‘90’s music’

Anda mungkin juga menyukai