0% menganggap dokumen ini bermanfaat (0 suara)
233 tayangan11 halaman

Perintah SQL DML - SELECT

Dokumen tersebut membahas tentang bahasa pertanyaan SQL (Structured Query Language) untuk manipulasi data pada basis data. Secara khusus membahas tentang perintah SELECT untuk menampilkan data dari tabel database, termasuk menampilkan seluruh kolom dan baris, menampilkan kolom tertentu, memfilter data berdasarkan kriteria, dan mengurutkan hasil tampilan data.

Diunggah oleh

choirunissa
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)
233 tayangan11 halaman

Perintah SQL DML - SELECT

Dokumen tersebut membahas tentang bahasa pertanyaan SQL (Structured Query Language) untuk manipulasi data pada basis data. Secara khusus membahas tentang perintah SELECT untuk menampilkan data dari tabel database, termasuk menampilkan seluruh kolom dan baris, menampilkan kolom tertentu, memfilter data berdasarkan kriteria, dan mengurutkan hasil tampilan data.

Diunggah oleh

choirunissa
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/ 11

SQL

(STRUKTUR QUERY LANGUAGE)

ENTOT SUHARTONO, M.Kom

PROGDI AKUNTANSI
Fakultas Ekonomi dan Bisnis
Universitas Dian Nuswantoro
1
2

DATA MANIPULATION LANGUAGE (DML)

Karena pembahasan query SELECT memiliki banyak variasi yang membuatnya memiliki banyak
fitur, dalam tutorial kali ini akan menggunakan database DTAkademik yang sudah dibuat pada
latihan sebelumnya. Untuk memeriksa atau menampilkan seluruh database yang sudah ada,
berikut query-nya:
SHOW DATABASES;
Query tersebut di atas akan menampilkan semua database yang ada, kita dapat memeriksa
apakah database yang dimaksud (DTAkademik) sudah ada atau belum. Jika belum dibuat
terlebih dahulu database-nya (lihat pembahasan sebelumnya), tetapi jika sudah ada tahapan
berikutnya adalah mengaktifkan database DTAkademik, kemudian periksalah tabel apa saja
yang sudah ada di dalam database tersebut dengan menggunakan query sbb:
USE DTAkademik;
SHOW TABLES;
Pastikan ada tabel dengan nama matakuliah dan tbldosen, di mana kedua tabel tersebut akan
digunakan untuk latihan selanjutnya. Jika kedua tabel tersebut belum ada, maka selanjutnya
dibuat terlebih dahulu. Berikut adalah query yang digunakan untuk merancang tabel matakuliah
dan tbldosen:
CREATE TABLE matakuliah (
kodemk CHAR(6) PRIMARY KEY,
namamk VARCHAR(50),
SKS int,
Semester int,
Jurusan VARCHAR (50),
nipdos VARCHAR(10));
DESC matakuliah;

CREATE TABLE tbldosen (


nip VARCHAR(10) PRIMARY KEY,
namados VARCHAR(30),
nohp VARCHAR(13),
alamat VARCHAR(50));
DESC tbldosen;
Berikutnya adalah mengisi tabel tersebut dengan data sample dengan menggunakan query
INSERT (lihat pembahasan sebelumnya). Dalam contoh ini saya menggunakan data sample
seperti pada tabel dibawah ini:

Progdi Akuntansi – FEB UDINUS


3

Data Input untuk Tabel tblDosen

Data Input untuk MataKuliah

MENAMPILKAN DATA - SELECT


Menampilkan data dari sebuah tabel merupakan hal paling sering kita lakukan dalam
menangani database. Pembuatan tabel MySQL hanya perlu di lakukan sekali di awal
implementasi, namun input data (INSERT) dan menampilkannya kembali (SELECT) dalam
format yang diinginkan merupakan rutinitas selama database masih digunakan.
Format Dasar SELECT
Biasanya pada saat ingin menampilkan data, kita butuh setidaknya 3 hal:
 Apa saja kolom yang ingin ditampilkan.
 Nama tabel yang akan ditampilkan.
 Kondisi untuk menampilkan data.
Query SELECT pada dasarnya juga terdiri dari 3 hal tersebut. Berikut adalah format dasar
penulisan query SELECT:
SELECT apa_yang_akan_ditampilkan FROM tabel_apa
WHERE kondisi_apa_data_ditampilkan;
Ketiga faktor tersebut akan kita bahas dalam tutorial kali ini, dan karena kebutuhan
menampilkan data sangat beragam, MySQL memiliki banyak opsi yang dapat digunakan,
berikut adalah format dasar query SELECT yang saya ambil dari manual MySQL:

Progdi Akuntansi – FEB UDINUS


4

SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
Seperti yang anda lihat, MySQL menyediakan banyak sekali perintah opsional yang dapat
dipilih untuk membantu kita menampilkan data dari database. Sebagian besar kita tidak akan
membutuhkan kebanyakan opsi tersebut, namun setidaknya MySQL menyediakan banyak
pilihan untuk menampilkan hasil SELECT. Kita akan membahas beberapa diantaranya.
MENAMPILKAN SELURUH ISI TABEL
Mungkin inilah query SELECT yang paling mudah diingat dan paling populer, yaitu bagaimana
cara menampilkan seluruh data dari sebuah tabel.
Format dasar query SELECT untuk menampilkan seluruh isi tabel adalah sebagai berikut:
SELECT * FROM nama_tabel;
Tanda (*) adalah wildcard yang artinya pilih semua kolom
Sebagai contoh, berikut ini adalah query untuk menampilkan semua data tabel matakuliah:

Progdi Akuntansi – FEB UDINUS


5

Setelah mengetik query SELECT * FROM matakuliah; klik tombol Execute Query

atau tekan tombol keyboar F9. Atau klik tombol Execute All Query untuk
menjalankan beberapa baris query sekaligus.

Menampilkan Kolom (Field) Tertentu dari Tabel


Jika kita ingin menampilkan hanya sebahagian kolom saja dari dalam tabel, kita dapat
menentukan kolom mana saja yang akan ditampilkan.
Format dasarnya adalah sebagai berikut:
SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel;
nama_kolom1 dan nama_kolom2 adalah nama kolom yang ingin kita tampilkan. Misalkan kita
ingin menampilkan kolom namamk dan SKS dari tabel matakuliah, maka querynya adalah
sebagai berikut:
SELECT namamk, SKS FROM matakuliah;

MEMFILTER/MENYELEKSI DATA TABEL


Jika kita ingin menampilkan hanya data yang memenuhi kriteria tertentu saja, maka hal ini
dapat dilakukan dengan menambahkan perintah WHERE pada query SELECT.
Kondisi WHERE pada perintah SELECT digunakan untuk menyeleksi data yang diinginkan,
sedangkan data yang tidak memenuhi kriteria, tidak akan ditampilkan.
Contohnya untuk menampilkan data mata kuliah untuk jurusan Akuntansi, dapat menggunakan
query berikut:
SELECT namamk,sks, jurusan FROM matakuliah WHERE jurusan= ‘Akuntansi’;

Progdi Akuntansi – FEB UDINUS


6

Kondisi WHERE sangat fleksibel dan kita juga bisa menggunakan kondisi operasi slain eperti
lebih besar (>), lebih kecil (<), tidak sama (<>), dan lain-lain. List lengkap dari penggunaan
kondisi yang dapat digunakan pada SELECT…WHERE adalah:
Operasi Logika
Operator Keterangan
NOT atau ! Logika Bukan/Negasi
AND atau && Logika AND (dan)
OR atau || Logika OR (atau)
XOR Logika bukan atau
Contoh penggunaan operator NOT, misalkan akan menampilkan seluruh mata kuliah yang
jurusannya bukan manajemen, maka querynya:
SELECT *
FROM matakuliah
WHERE not jurusan = 'Manajemen';

Penggabungan beberapa kondisi juga dapat dilakukan, contohnya akan menampilkan seluruh
mata kuliah dengan jumlah SKS=2 dan diajarkan pada semester dibawah 5, maka querynya:
SELECT *
FROM matakuliah
WHERE sks = 2 AND semester < 5;

Progdi Akuntansi – FEB UDINUS


7

Operasi Perbandingan
Operator Keterangan
= Sama dengan
<> Tidak sama dengan
< Kurang dari atau Lebih kecil dari
> Lebih besar dari
BETWEEN Antara
IN Berada dalam
Contohnya jika kita ingin menampilkan seluruh mata kuliah yang diajarkan di semester 4
keatas, maka querynya adalah:
SELECT *
FROM matakuliah
WHERE semester >= 4;

Contoh penggunaan operator BETWEEN, misalkan akan menampilkan seluruh mata kuliah yang
diajarkan antar semester 2 sampai dengan semester 4, maka querynya adalah:
SELECT *
FROM matakuliah
WHERE semester BETWEEN 2 AND 4;

Misalkan akan menampilkan data yang hanya mengandung data yang telah didefinisikan, yaitu
dengan perintah IN dan NOT IN, mirip seperti AND dan OR namun IN dan NOT IN dapat
melakukannya secara bersamaan. Contohnya kita hanya akan menampilkan data mata kuliah
yang pengampunya adalah memiliki nip dosen 06004 dan 06006 saja, maka querynya adalah:
SELECT *
FROM matakuliah
WHERE nipdos IN ('06004', '06006');

Progdi Akuntansi – FEB UDINUS


8

MENGURUTKAN TAMPILAN DATA TABEL (SELECT. . .ORDER BY )

MySQL menyediakan perintah opsional ORDER BY untuk mengurutkan data yang di hasilkan.
Query dasar untuk SELECT…ORDER BY adalah:
SELECT nama_kolom1,...
FROM nama_tabel
WHERE kondisi
ORDER BY nama_kolom;
nama_kolom di sini adalah kolom yang akan kita urutkan atau kolom dasar pengurutan.
Pengurutan bisa dari paling kecil ke besar (Ascending), ataupun besar ke kecil (Descending).
Pilihan ini dapat diatur dengan penambahan instruksi ASC (singkatan dari ascending) untuk
pengurutan dari kecil ke besar, dan DESC (singkatan dari descending) untuk urutan dari besar
ke kecil. Jika tidak di dijelaskan, secara default bawaan MySQL perintah ORDER BY akan
menggunakan ASC.
Contohnya jika kita menginginkan tampilan mata kuliah dengan jumlah SKS lebih dari 2 secara
berurutan dari yang paling kecil, maka querynya:

Jika kita ingin menampilkan seluruh dosen pada tabel tbldosen dan diurutan kolom alamat
secara abjad, maka querynya adalah sebagai berikut:
Sebelum diurutkan Setelah diurutkan

Progdi Akuntansi – FEB UDINUS


9

MEMBATASI HASIL QUERY SELECT (SELECT…LIMIT )


MySQL menyediakan pilihan opsional LIMIT untuk membatasi hasil query SELECT, format dasar
query SELECT…LIMIT adalah sebagai berikut:
SELECT nama_kolom1
FROM nama_tabel
WHERE kondisi
LIMIT baris_awal, jumlah_baris;
baris_awal adalah awal nomor baris yang akan ditampilkan, dan jumlah_baris adalah jumlah
baris yang diurutkan dari baris_awal. Nomor baris pada MySQL diawali dengan nomor 0.
Misalkan akan menampilkan data 3 nama dosen paling atas yang dirutkan berdasarkan nama,
maka querynya adalah:

Jika kita hanya memberikan 1 angka saja di belakang instruksi LIMIT, maka MySQL
menganggap bahwa angka dihitung dari baris teratas (baris ke 0). Contohnya jika kita ingin
menampilkan 5 baris teratas mata kuliah yang diurutkan berdasarkan nama, maka querynya:

PENCARIAN DATA TABEL (SELECT . . . LIKE )


Pencarian data dari database merupakan kegiatan rutinitas dalam administrasi database.
Sebagai tabel untuk latihan ini, akan menggunakan tabel dari pembahasab sebelumnya
(tblDosen dan matakuliah).
MySQL menyediakan query SELECT..LIKE untuk menampilkan tabel berdasarkan pencarian
karakter sederhana. Format dasar struktur SELECT..LIKE adalah sebagai berikut:

Progdi Akuntansi – FEB UDINUS


10

SELECT nama_kolom
FROM nama_tabel
WHERE nama_kolom_cari LIKE keyword_pencarian;
Keterangan:
 nama_kolom adalah nama dari kolom yang akan kita tampilkan, bisa semua kolom dalam
tabel, atau hanya kolom tertentu saja.
 nama_tabel adalah nama tabel dimana nama_kolom_tampil berada.
 nama_kolom_cari adalah kolom yang akan kita gunakan untuk pencarian.
 keyword_pencarian merupakan kata kunci yang digunakan untuk pencarian. Cara
penulisan kata kunci ini akan kita bahas lebih lanjut.
Sebagai contoh, misalkan akan menampilkan seluruh kolom dari tabel tbldosen dimana nama
dosen yang akan dicari atau ditampilkan adalah Cindi F. Maka contoh querynya:

Query tersebut di atas menggunakan LIKE dengan kata kunci yang sama persis dengan isi
dari kolom namados. Query LIKE ini tidak terlalu membantu karena kita bisa saja mengganti
query tersebut dengan operator =, seperti contoh berikut:
SELECT * FROM tbldosen WHERE namados LIKE 'Cindi F';
Namun ketika kita ingin menampilkan seluruh kolom dari tabel tbldosen, dimana nama dosen
yang diawali dengan huruf ‘D’. Untuk pencarian seperti inilah kita menggunakan query LIKE.
MySQL menyediakan 2 karakter khusus untuk pencarian LIKE, yaitu karakter ‘_’ dan ‘%’,
penjelasannya:
 _ : karakter ganti yang cocok untuk satu karakter apa saja.
 % : karakter ganti yang cocok untuk karakter apa saja dengan panjang karakter tidak
terbatas, termasuk tidak ada karakter.
Agar mudah memahami, langsung saja kita gunakan untuk pencarian nama dosen yang
diawali dengan huruf ‘D’:

Progdi Akuntansi – FEB UDINUS


11

Query di atas menggunakan ‘D%’ karena akan mencari nama dosen yang diawal dengan D,
dan diikuti oleh karakter apa saja dengan panjang tidak dibatasi.
Kita dapat mengganti kata kunci hasil pencarian tersebut dengan karakter lain, sebagai contoh:
 'S%' : Cocok dengan kata yang diawali dengan S, dan diikuti dengan karakter apa
saja, contoh: ‘S’, ‘Su’, ‘Sir’, ‘Sari’, ‘Susi’, dan ‘Sabrina Sari’.
 'S_' : Cocok dengan kata yang diawali dengan S, dan diikuti dengan satu karakter
apa saja, contoh: ‘Si’, ‘Sa’, ‘Su’, ‘So’, dan ‘St’.
 'A__i' : Cocok dengan kata yang diawali dengan ‘A’, diikuti oleh 2 karakter bebas,
namun diakhiri dengan i, contoh: ‘Andi’, ‘Ardi’, ‘Abdi’.
 '%e' : Cocok dengan seluruh kata dengan panjang berapapun yang diakhiri
dengan huruf ‘e’, contoh: ‘Katie’, ‘Kue’, dan ‘Mike’.
 '%dia%' : Cocok dengan seluruh kata yang mengandung kata ‘dia’, contoh: ‘media’,
‘Dian’, ‘Ardiano’, dan ‘Arkadia’.
Kita juga dapat menggabungkan operasi LIKE dengan operator logika OR atau AND untuk
pencarian yang lebih kompleks. Misalkan saya ingin mencari kolom nama dosen yang mengan-
dung huruf ‘di’ dan kolom alamat yang diawali dengan huruf ‘S’. Querynya adalah sebagai
berikut:
SELECT * FROM tbldosen
WHERE namados LIKE '%di%' AND alamat LIKE 'S%';

Perhatikan bahwa seluruh nama dosen mengandung huruf ‘di’ dan alamat diawali dengan huruf
‘S’.

Progdi Akuntansi – FEB UDINUS

Anda mungkin juga menyukai