QUERY, VIEW, dan JOIN

DASAR TEORI             Query Query merupakan kategori perintah yang digunakan untuk meminta layanan dari server basis data. Perintah yang a...

DASAR TEORI

            Query
Query merupakan kategori perintah yang digunakan untuk meminta layanan dari server basis data. Perintah yang akan kita pelajari sekarang adalah SELECT untuk mengambil data dari sebuah basis data. Bentuk perintah Select adalah sebagai berikut.

SELECT [ ALL | DISTINCT[ ON ( expression [, ……] ) ] ]
| expression [ AS output_name ] [, ………]
[ FROM from_item [, ………] ]
[ WHERE condition ]
[ GROUP BY expression [, ……] ]
[ HAVING condition [, ….] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | select ]
[ ORDER BY expression [ Asc | DESC | USING operator ] [, …] ]
[ LIMIT { count | ALL } ]
[ OFFSET start ]
[ FOR UPDATE [ OF tabel_name [, ……] ] ]

View
View digunakan untuk menyimpan hasil suatu query ke dalam suatu nama tertentu. Biasanya hal ini diperlukan jika kita ingin menyimpan suatu query yang ( cukup ) kompleks. Untuk mengakses suatu View, kita cukup memanggil view tersebut dengan perintah SELECT. Perintah untuk membuat view adalah sebagai berikut.

CREATE [ OR REPLACE ] VIEW name [ ( coloumn_name [, ……] ) ] AS query

Untuk menghapus view, perintah yang digunakan adalah DROP VIEW nama_view Join.

Join
Join adalah suatu bagian dari perintah SELECT yang digunakan untuk menggabungkan lebih dari satu tabel ke dalam suatu hasil query. Adabeberapa jenis join yang bisa digunakan, antara lain :
1. [ INNER ] JOIN
2. LEFT [ OUTER ] JOIN
3. RIGHT [ OUTER ] JOIN
4. FULL [ OUTER ] JOIN
5. CROSS JOIN

 PEMBAHASAN

Pada pertemuan kedua ini kita membahas tentang QUERY, VIEW, dan JOIN, yang mana pada perintah Query yaitu untuk mengambil data dari (satu atau lebih) tabel, view untuk mempermudah pengaksesan tabel dari beberapa query kompleks, dan yang terakhir join adalah perintah untuk mengambil data dari berbagai tabel sekaligus, agar lebih jelas mari kita praktekan spereti dibawah ini.

Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.45-community-nt-log MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Perintah pertama ini adalah melihat database dengan cara melakukan perintah seperti berikut.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| akademik           |
| mysql              |
| phpmyadmin         |
| test               |
+--------------------+
5 rows in set (0.00 sec)

Pada perintah dibawah ini adalah perintah koneksi ke database akademik.

mysql> use akademik;
Database changed

Pada perintah selanjutnya yaitu melihat struktur tabel dengan cara seperti dibawah ini.

mysql> desc mhs;
+---------+---------------+------+-----+---------+-------+
| Field   | Type          | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| nim     | char(9)       | NO   | PRI |         |       |
| nama    | varchar(30)   | YES  |     | NULL    |       |
| kelamin | enum('L','P') | YES  |     | NULL    |       |
| tglahir | date          | YES  |     | NULL    |       |
| jurusan | char(2)       | YES  |     | NULL    |       |
| ipkum   | decimal(4,2)  | YES  |     | NULL    |       |
+---------+---------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

Perintah-perintah seperti dibawah ini adalah untuk mengisi data mahasiswa, yang mana terdapat nim, nama, jenis kelamin, tgl, bulan dan tahun lahir mahasiswa.

mysql> insert into mhs values ('105610135','ades','L','1990-12-06','SI',3.31
);
Query OKmysql> insert into mhs values ('105610137','alonk','L','1990-12-07','SI',3.31
);
Query OK, 1 row affected (0.00 sec)



Dari perintah-perintah dibawah, akan membuat data mahasiswa/i, yang mana didalam data tersebut terdapat nim, nama, kelamin, tgl lahir, jurusan dan ipkum mahasiswa. Agar data mahasiswa tersebut dapat dilihat dalam tabel, maka lakukan perintah seperti dibawah ini.

mysql> select * from mhs;
+-----------+----------+---------+------------+---------+-------+
| nim       | nama     | kelamin | tglahir    | jurusan | ipkum |
+-----------+----------+---------+------------+---------+-------+
105610135 | ades     | L       | 1990-12-06 | SI      |  3.31 |
105610137 | alonk    | L       | 1990-12-07 | SI      |  3.31 |
+-----------+----------+---------+------------+---------+-------+
4 rows in set (0.00 sec)

Selanjutnya, agar kita dapat melihat tabel jurusan,yang didalam tabel jurusan tersebut terdapat dua jurusan, yaitu jurusan SI dan TI. maka lakukan perinta seperti dibawah ini.


mysql> select jurusan, count(*) as jumlah from mhs group by mhs.jurusan;
+---------+--------+
| jurusan | jumlah |
+---------+--------+
| SI      |      3 |
| TI      |      1 |
+---------+--------+
2 rows in set (0.02 sec)

Selanjutnya, perintah dibawah tersebut sudah dilakukan pada perintah seperti diatas, yang mana sedikit berbeda, perintah diatas terebut untuk menampilkan tabel jurusan, sedangkan
perintah dibawah ini, akan menampilkan tabel jenis kelamin,yang mana pada tabel jenis kelamin tersebut terdapat jenis kelamin laki-laki dan perempuan.

mysql> select kelamin, count(*) as jumlah from mhs group by mhs.kelamin;
+---------+--------+
| kelamin | jumlah |
+---------+--------+
| L       |      3 |
| P       |      1 |
+---------+--------+
2 rows in set (0.00 sec)

Selain itu user juga dapat mengetahui daftar yang ada pada database aktif atau yang sedang dimasuki pada waktu sekarang ini, perintahnya adalah SHOW TABLES, contohnya sebagai berikut.

mysql> show tables;
+--------------------+
| Tables_in_akademik |
+--------------------+
| mhs                |
+--------------------+
1 row in set (0.00 sec)

Selanjutnya adalah mengisi krs, yang mana didalam tabel krs tersebut nim tidak boleh sama.
Untuk mempercepat proses memasukkan data pada sebuah tabel, maka MySQL memiliki kemampuan untuk dapat melakukan pemasukkan data secara bersamaan. Teknik ini tidak jauh berbeda dengan cara sebelumnya, perintah yang digunakan sebagai berikut



mysql> insert into krs values
    -> \c
mysql> desc krs;
+-------+------------+------+-----+---------+-------+
| Field | Type       | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| nim   | char(11)   | NO   | PRI |         |       |
| thakd | int(5)     | YES  |     | NULL    |       |
| nmmk  | varchar(4) | YES  |     | NULL    |       |
+-------+------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Perintah untuk dapat melakukan perubahan tabel, pada MySQL memiliki erintah ALTER yang kemudian diikuti dengan pernyataan perubahan, berikut adalah sintak umum untuk megubah tabel.
.

mysql> alter table krs add kdmk varchar(4);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

Perintah untuk dapat melakukan perubahan tabel, pada MySQL memiliki erintah ALTER yang kemudian diikuti dengan pernyataan perubahan, berikut adalah sintak umum untuk megubah tabel.

mysql> alter table krs modify nmmk varchar(20);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> insert into krs values
    -> ('085610003',2009,'matematika dasar','z04'),
    -> ('085610004',2010,'matematika dasar','z04'),
    -> ('085610005',2010,'matematika dasar','z04'),
    -> ('085610006',2010,'matematika dasar','z04'); Selanjutnya adalah mengisi krs, yang mana didalam tabel krs tersebut nim tidak boleh sama.
Untuk mempercepat proses memasukkan data pada sebuah tabel, maka MySQL memiliki kemampuan untuk dapat melakukan pemasukkan data secara bersamaan. Teknik ini tidak jauh berbeda dengan cara sebelumnya, perintah yang digunakan sebagai berikut


Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

Selanjutnya hal yang paling penting dalam query SQL adalah menampilkan data, pada query ini sebuah database sangta berbeda – beda dalam dukungannya. Pada MySQL memilki standar query pada SQL yaitu sebuah bahasa permintaan yang terstruktur yang telah distandarkan oleh ANSI, bentuk – bentuk query tersebut juga telah digunakan pada semua database baik yang berupa Server database batabase Not Server seerti Database Desktop ataupun Ms Access, perintah yang digunakan untuk menampilkan data adalah SELECT, bentuk umumnya adalah.






mysql> select * from krs;
+-----------+-------+------------------+------+
| nim       | thakd | nmmk             | kdmk |
+-----------+-------+------------------+------+
| 085610003 |  2009 | matematika dasar | z04  |
| 085610004 |  2010 | matematika dasar | z04  |
| 085610005 |  2010 | matematika dasar | z04  |
| 085610006 |  2010 | matematika dasar | z04  |
+-----------+-------+------------------+------+
4 rows in set (0.00 sec)



Tanda bintang pada perintah di atas menandakan user akan menampilkan semua kolom pada tabel yang ditunjuk.

COMMENTS

Name

berita,9,fahsion,3,gempha news,5,gender,5,IT,52,kesehatan,39,lirik lagu,8,MAKALAH,5,materi,13,sejarah,8,tentang pmii,17,uin jember,2,warta,14,
ltr
item
Gerakan Mahasiswa Pembaharuan - PMII Yogyakarta: QUERY, VIEW, dan JOIN
QUERY, VIEW, dan JOIN
Gerakan Mahasiswa Pembaharuan - PMII Yogyakarta
https://pmiigempha.blogspot.com/2013/11/query-view-dan-join.html
https://pmiigempha.blogspot.com/
https://pmiigempha.blogspot.com/
https://pmiigempha.blogspot.com/2013/11/query-view-dan-join.html
true
3388097559341598177
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy