PENGENALAN OPERATOR DASAR
A. Dasar Teori
Structured Query Language (SQL) merupakan bahasa yang digunakan dalam berbagai produk database. SQL dibangun di Laboratorium IBM-san Jose California sekitar akhir tahun 70-an. Pertama kali dikembangkan sebagai bahasa di produk database DB2 yang sampai saat ini merupakan produk database andalan IBM.SQL sering dilafalkan dengan "sequel".
Saat ini organisasi standar America (ANSI) menetapkan standar bahasa SQL yaitu ANSI-92 standard. Masing-masing vendor database memiliki dialeknya sendiri sebagian besar spesifikasinya mengacu pada standar ANSI tersebut dengan berbagai ekstensi tambahan. SQL server menggunakan bahsasa Transact-SQL dalam produknya, sedangkan Oracle menggunakan PL/SQL.
Pada pembuatan tabel, meski tabel telah dibuat, bukan berarti kita tidak bisa menghapus,menambah, atau mengubah tipe field-fieldnya. Mengubah struktur tabel tidak perlu menghapus tabelnya terlebih dahulu, karena hal itu dapat menghilangkan data,tentu saja. Kita dapat menggunakan kata kunci ALTER TABLE untuk masalah ini yang mana penjelasan ini telah saya jelaskan panjang lebar di laporan praktikum sebelumnya.
Saat ini ada beberapa query yang akan dijelaskan pada laporan praktikum ini, antara lain:
1. Membuat Alias dengan AS
As biasanya digunakan untuk menampilkan label kolom dengan nama lain sehingga yang muncul dalam hasil query bukan nama asli kolom, tetapi nama yang mungkin lebih sesuai dan mudah dimengerti. hakikatnya, penggunaan AS itu dibuat agar mempermudah kita untuk mengerti nama dan isi tabel atau kolom. AS digunakan setelah nama kolom yang akan diganti yang kemudian diikuti dengan nama penggantinya. Berikut struktur querynya:
SELECT NAMA_KOLOM AS NAMA_KOLOM_PENGGANTI FROM NAMA_TABEL;
2. Penggunaan AND dan OR
sebenarnya ada tiga operator logika yaitu AND,OR dan NOT. namun disini saya akan sedikit menjelaskan fungsi operator AND dan OR. operator ini membandingkan dua kondisi pada suatu waktu untuk menentukan apakah berturut-turut akan dipilih untuk output. ketika mengambil data menggunakan pernyataan select, anda dapat menggunakan operator logika dalam klausa where, yang memungkinkan anda untuk menggabungkan lebih dari satu kondisi.
jika anda ingin memilih baris yang memenuhi setidaknya satu dari kondisi yang diberikan, anda dapat menggunakan operator logis, OR.
sebagai contoh jika anda ingin mencari nama-nama siswa yang belajar baik matematika atau sains, query akan seperti ,
SELECT FIRST_NAME, LAST_NAME, SUBJECT FROM STUDENT_DETAILS WHERE SUBJECT = 'MATHS' OR SUBJECT = 'SCIENCE'tabel berikut menggambarkan bagaimana logika OR operator memilih berturut-turut
jika anda ingin memilih baris yang harus memenuhi semua kondisi yang diberikan , anda dapat menggunakan operator logis ,AND.
sebagai contoh untuk menemukan nama-nama siswa antara usia 10-15 tahun, query akan seperti :
SELECT FIRST_NAME, LAST_NAME, AGE FROM STUDENT_DETAILS WHERE AGE >= 10 AND AGE <= 15;tabel berikut menggambarkan bagaimana logika AND operator memilih berturut-turut:
dan jika anda ingin mencari baris yang tidak memenuhi kondisi, anda dapat menggunakan operator logis NOT,, tidak menghasilkan kebalikan dari kondisi. artinya jika kondisi dipenuhi, maka baris tidak akan dikembalikan.
sebagai contoh jika andat ingin mengetahui nama-nama siswa yang tidak bermain sepak bola, query akan seperti :
SELECT FIRST_NAME, LAST_NAME, GAME FROM STUDENT_DETAILS WHERE NOT GAMES = 'FOOTBALL';tabel berikut menjelaskan cara logis NOT memilih berturut-turut :
3. BETWEEN
keyword between digunakan untuk mencari data yang memenuhi interval kriteria tertentu dalam suatu kolom. biasanya digunakan untuk mencari data berdasarkan interval tertentu.
misalkan anda ingin mencari produk yang penjualan yang terjadi antara tanggal 1 januari 2003 sampai dengan 31 januari 2003. querynya yaitu :
SELECT ORDER_ID, CUSTOMERS_ID, ORDER_DATE FROM ORDER WHERE ORDER_DATE BETWEEN '1-01-2003' AND '31-01-2003';4. IN DAN NOT IN
operator in berguna emlakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai. berikut struktur yang digunakan :
SELECT * FROM NAMA_TABEL WHERE NAMA_KOLOM IN (KATA_KUNCI1,KATA_KUNCI2,KATA_KUNCI3,KATA_KUNCI_N);5. LIKE
operator like digunakan untuk menampilkan semua baris dalam tabel yang nilai kolom cocok dengan pola tertentu. hal ini berguna bila anda ingin baris untuk mencocokkan pola tertentu mencari , atau ketika anda tidak tahu seluruh nilai.
contoh untuk memilih semua siswa dengan nama awalan s, maka querynya adalah :
SELECT NAMA_SISWA FROM SISWA WHERE NAMA_SISWA LIKE 'S%';adapun beberapa query yang berkaitan dengan like adalah :
6. REGEXP
operator regexp adalah merupakan kepanjangan dari regular expression, berfungsi sama dengan operator like, namun lebih disempurnakan lagi. Dalam pengoperasiannya, operator ini menggunakan kode-kode tambahan seperti dibawah ini :
adapun contoh querynya adalah sebagai berikut:
SELECT * FROM MAHASISWA WHERE NAMA_MAH ~ 'BI:BU';maka akan menampilkan nama mahasiswa yang mempunyai awalan nama Bi dan Bu.
7. DISTINCT
fungsi ini digunakan untuk memilih baris yang berbeda serta untuk mengembalikan hasil dari sebuah query dengan tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan data meskipun pada data sesungguhnya sangat mungkin banyak duplikasi.
untuk contoh jika anda ingin memilih semua nama departemen dari tabel karyawan, permintaan akan :
SELECT DISTINCT NAMA_KOLOM FROM NAMA_TABEL;8. LIMIT DAN OFFSET
limit dan offset digunakan untuk membatasi jumlah output dari query berdasarkan jumlah row bukan karena kondisi where. Bisa dikatakan limit adalah untuk menentukan jumlah baris yang akan ditampilkan yang dihitung dari baris pertama, sedangkan Offset digunakan untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada Offset. Berikut Struktur perintah SQL :
sql ==> SELECT * FROM MAHASISWA LIMIT 2;
query diatas akan menampilkan mulai dari baris pertama sampai pada baris kedua
MySQL ==> SELECT * FROM MAHASISWA LIMIT 2,5;
maka akan menampilkan mulai pada baris ke 3 sampai baris 7
9. UNION, EXCEPT DAN INTERSECT
UNION
Perintah UNION digunakan untuk menggabungkan isi dari dua tabel atau lebih. perintah ini terdiri dari dua yaitu UNION dan UNION ALL.
contohnya kita mempunyai dua tabel yang bernama matakuliah_biologi dan matakuliah_komputer. matakulih biologi memiliki data pada kolom matkul adalah genetika,zoologi dan komputer, sedangkan pada tabel matakuliah_komputer adalah komputer, pemograman dan logika.
jadi apabila kita menuliskan query :
SELECT * FROM MATAKULIAH_BIOLOGI UNION SELECT * FROM MATAKULIAH_KOMPUTER;
maka akan menampilkan data semua matakuliah pada dua tabel yaitu (genetika,zoologi,komputer,pemrograman dan logika).
lain halnya jika kita menggunakan query UNION ALL, maka akan menampilkan semua data walaupun ada yang sama, maka apabila kita menggunakan query UNION ALL, hasilnya yang ditampilkan adalah (genetika,zoologi,komputer,pemrograman,komputer dan logika)
EXCEPT
except digunakan untuk menampilkan hanya query pertama saja, query yang kedua dan yang sama dengan query yang kedua tidak akan ditampilkan. Berikut struktur query:
INTERSECTSELECT NAMA_KOLOM FROM NAMA_TABEL EXCEPT SELECT NAMA_KOLOM FROM NAMA_TABEL;
perintah intersect hanya akan menampilkan seluruh isi dari data yang memiliki kesamaan diantara hasil kedua query tersebut. berikut struktur query :
SELECT NAMA_KOLOM FROM NAMA_TABEL INTERSECT SELECT NAMA_KOLOM FROM NAMA_TABEL;
B. Hasil Praktikum
ini tugas praktikum Desain Basis Data :
1. psql
![]() |
menampilkan semua mahasiswa dengan nama fakultasnya |
![]() |
menampilkan mahasiswa saintek dan berjenis kelamin laki-laki |
![]() |
Menampilkan Mahasiswa SAINTEK atau Berjenis kelamin laki-laki |
![]() |
Fungsi penggunaan Between dalam menampilkan baris yaitu disini menampilkan isi tabel mahasiswa mulai dari nim 13 sampai dengan 15 |
![]() |
Fungsi penggunaan operator aritmatika dalam menampilkan baris yaitu disini menampilkan isi tabel mahasiswa mulai dari nim 13 sampai dengan 15 (fungsinya sama dengan between) |
![]() |
Menampilkan data mahasiswa yang mempunyai nim selain dari 13 sampai 15 menggunakan operator aritmatika dan juga not between, namun kedua query ini mempunyai fungsi yang sama. |
![]() |
Fungsi penggunaan IN dalam menampilkan baris yaitu disini menampilkan baris pada data mahasiswa yang mempunyai nim 13,14,15 |
![]() |
Fungsi Penggunaan LIKE dalam mencari data secara spesifik sesuai dengan perintah kita. pada query diatas menampilkan data mahasiswa yang mempunyai nama awalan a. |
![]() |
menampilkan nama mahasiswa dengan huruf ketiganya adalah n |
![]() |
Fungsi Penggunaan DISTINCT dalam menampilkan data yang tidak ada unsur duplikat |
![]() |
Fungsi penggunaan LIMIT diatas adalah menampilkan 3 baris pada data mahasiswa |
![]() |
query diatas merupakan fungsi operator REGEXP yaitu fungsinya mirip dengan like |
![]() |
Pembuatan Tabel baru dengan nama organ_dalam dan organ_luar |
![]() |
Menampilkan semua data pada tabel organ_dalam dan organ_luar dengan tidak ada yang sama |
![]() |
Menampilkan data pada organ_dalam yang tidak ada pada tabel organ_luar |
![]() |
Menampilkan data yang sama pada dua tabel |
2. MySQL
![]() |
Membuat tabel fakuktas dan mahasiswa |
![]() |
Penggunaan As pada mysql sama dengan di psql |
![]() |
Apabila menggunakan OR, maka salah satu syarat yang kita masukkan sesuai dengan data yang ada, maka akan ditampilkan |
![]() |
query ditas menampilkan data mahasiswa yang mempunyai nim antara 13 sampai 15. cara ini bisa menggunakan BETWEEN dan juga bisa menggunakan Operator < dan > |
![]() |
query diatas menampilkan mahasiswa yang mempunyai nim selain antara 13 sampai 15 dengan menggunakan operator NOT BETWEEN dan Operator < dan >. |
![]() |
IN membantu kita menampilkan data sesuai dengan kemauan kita asalkan penulisannya sesuai dengan data yang ada |
![]() |
Penggunaan LIKE pada MySQL sama dengan PSQL |
![]() |
Ini adalah contoh penggunaan LIKE yang lain |
![]() |
Operator DISTINCT digunakan untuk menampilkan data yang mana data yang ditampilkan tidak akan mengalami redudansi artinya duplikasi. |
![]() |
Menampilkan data sebanyak 3 baris menggunakan LIMIT |
![]() |
Jika kita menggunakan perintah UNION, maka semua data akan ditampilkan dan data yang ada kesamaan pada tabel yyang lain, maka akan dituliskan sekali saja. |
![]() |
jika kita menggunakan UNION ALL, maka data yang sama akan ditampilkan semua |
![]() |
ini juga salah satu contoh penggunaan like. query ditas menampilkan data mahasiswa yang mempunyai nama yang akhirannya a serta pada huruf ketiganya yaitu n. |
![]() |
Penggunaan EXCEPT pada PSQL tidak berlaku pada MySQL, pada MySQL menggunakan NOT IN |
![]() |
Penggunaan INTERSECT pada PSQL tidak sama pada MySQL. pada MySQL menggunakan IN, dengan penulisan query yang berbeda pula. |
C. Kesimpulan
1. Perbedaan Antara PSQL dan MySQL
PSQL
- ketika ingin mencari data dengan memasukkan inisial, maka biasanya di PSQL tidak perlu mencantumkan regexp pada querinya, namun kita langsung menuliskan simbol regexp dan juga perintahnya. contohnya yaitu
- Apabila kita ingin mnggabungkan data dua tabel yang tidak termasuk pada data pertama menggunakan EXCEPT
- Apabila kita ingin menampilkan data yang sama pada dua tabel atau lebih menggunakan INTERSECT
- Ketika ingin mencari data dengan memasukkan inisial, maka biasanya di MySQL tidak perlu mencantumkan regexp pada querinya, namun kita langsung menuliskan simbol regexp dan juga perintahnya. contohnya yaitu
-
- Apabila kita ingin mnggabungkan data dua tabel yang tidak termasuk pada data pertama menggunakan NOT IN
![]() |
Penggunaan EXCEPT pada PSQL tidak berlaku pada MySQL, pada MySQL menggunakan NOT IN |
- Apabila kita ingin menampilkan data yang sama pada dua tabel atau lebih menggunakan IN
Penggunaan INTERSECT pada PSQL tidak sama pada MySQL. pada MySQL menggunakan IN, dengan penulisan query yang berbeda pula.
- like
- as
- union dan union all
- distinct
- and, or
- limit
saya ucapkan puji syukur kehadirat allah telah diberikan tambahan ilmu mengenai laporan yang saya tuliskan sekarang dan tak lupa juga saya ucapkan terimaksih banyak kepada dosen praktikum Desain Basis Data beserta Asisten Lab yang setia melanjutkan materi praktikum dengan sabar dan juga ramah, semoga laporan ini dapat bermanfaat bagi pembaca serta memberikan wawasan yang lebih panjang dalam penerapannya. aminnn...
0 komentar:
Posting Komentar