Query adalah suatu cara untuk menampilkan semua baris dalam suatu tabel dan juga cara melakukan filter sesuai kriteria tertentu.

Persiapan Data
Tambahkan tabel-tabel berikut ini pada database DBPENJUALAN :

mysql> create table pelanggan
    -> (kdplg char(5) not null primary key,
    -> namaplg varchar(20),
    -> alamat varchar(20),
    -> kota varchar(10),
    -> telpon char(12));
Query OK, 0 rows affected (0.14 sec)

mysql> desc pelanggan;
+----------------+----------------+-------+-------+-----------------+-------+
| Field              | Type              | Null   | Key    | Default          | Extra  |
+----------------+----------------+-------+-------+-----------------+-------+
| kdplg             | char(5)           | NO   | PRI    | NULL           |           |
| namaplg         | varchar(20)    | YES  |           | NULL           |           |
| alamat            | varchar(20)    | YES  |           | NULL           |           |
| kota               | varchar(10)    | YES  |           | NULL           |           |
| telpon            | char(12)         | YES  |           | NULL           |           |
+----------------+----------------+-------+--------+----------------+-------+
5 rows in set (0.05 sec)

mysql> create table fakturjual
    -> (nofak char(6) not null,
    -> tanggal date,
    -> kdplg char(5) not null,
    -> primary key (nofak, kdplg));
Query OK, 0 rows affected (0.55 sec)

mysql> desc fakturjual;
+---------------+-----------------+-------+-------+-----------------+-------+
| Field              | Type              | Null   | Key    | Default          | Extra |
+---------------+-----------------+-------+-------+-----------------+-------+
| nofak             | char(6)           | NO    | PRI    | NULL           |           |
| tanggal           | date               | YES  |           | NULL           |           |
| kdplg             | char(5)           | NO   | PRI    | NULL           |           |
+---------------+-----------------+-------+--------+----------------+-------+
3 rows in set (0.11 sec)

mysql> create table jual
    -> (nofak char(6) not null,
    -> kodebrg char(5) not null,
    -> jlhjual int(4),
    -> primary key (nofak, kodebrg));
Query OK, 0 rows affected (0.48 sec)

mysql> desc jual;
+----------------+----------------+-------+--------+----------------+-------+
| Field              | Type              | Null   | Key    | Default          | Extra |
+----------------+----------------+-------+--------+----------------+-------+
| nofak             | char(6)           | NO    | PRI    | NULL           |           |
| kodebrg         | char(5)           | NO   | PRI    | NULL           |           |
| jlhjual             | int(4)              | YES  |           | NULL           |           |
+----------------+----------------+--------+-------+----------------+-------+
3 rows in set (0.09 sec)

Isilah data untuk tabel diatas sesuai dengan data berikut :

mysql> select * from pelanggan;
+----------------+----------------+-------------------------+-----------------+------------------+
| kdplg             | namaplg         | alamat                        | kota               | telpon               |
+----------------+----------------+-------------------------+----------------+-------------------+
| PL001            | Bambang      | Jl. Cemara No. 20      | Medan           | 081360869289 |
| PL002            | Boby Siregar | Jl. Pancing No.10      | Medan           | 081361869090 |
| PL003            | Alfarisi          | Jl. Merdeka No.20     | Binjai             | 081370869393 |
| PL004            | Indriani          | Jl. Sutomo no. 5        | L. Pakam       | 081350556677 |
| PL005            | Pipit Novel   | Jl. SM. Raja               | Siantar           | 081312345678 |
| PL006            | Alfonso         | Jl. Pipit No.35           | Medan           | 081387654321 |
+----------------+----------------+-------------------------+-----------------+------------------+
6 rows in set (0.00 sec)

+----------------+----------------+----------------+
| nofak             | tanggal           | kdplg             |
+----------------+----------------+----------------+
| FKT001         | 2011-05-10    | PL001            |
| FKT002         | 2011-05-22    | PL003            |
| FKT003         | 2011-05-25    | PL005            |
| FKT004         | 2011-05-27    | PL002            |
+----------------+----------------+----------------+
4 rows in set (0.00 sec)

mysql> select * from jual;
+----------------+----------------+----------------+
| nofak             | kodebrg         | jlhjual             |
+----------------+----------------+----------------+
| FKT001         | BR001           |       5              |
| FKT001         | BR002           |      10             |
| FKT001         | BR004           |       8              |
| FKT001         | BR005           |      20             |
| FKT002         | BR004           |       7              |
| FKT002         | BR007           |      15             |
| FKT003         | BR001           |       3              |
| FKT003         | BR002           |       6              |
| FKT003         | BR010           |       2              |
+----------------+----------------+----------------+
9 rows in set (0.00 sec)

Aturan dalam melakukan query antar tabel :
1.      Setiap field disebutkan bersama dengan nama tabelnya, dipisahkan dengan tanda titik (.).
Format       : namatabel.namafield
Contoh      : pelanggan.kdplg
2.      Setiap tabel yang terlibat dalam proses query harus disebutkan dalam klausa FROM, dengan pemisah koma (,).
Contoh      : FROM fakturjual,pelanggan
3.      Kondisi dalam klausa WHERE mempengaruhi hasil query yang tercipta.

Ketik perintah penggabungan dua tabel berikut ini :

mysql> select fakturjual.nofak, fakturjual.tanggal, fakturjual.kdplg,
    -> pelanggan.namaplg, pelanggan.kota from fakturjual,pelanggan
    -> where fakturjual.kdplg=pelanggan.kdplg;
+----------------+----------------+----------------+----------------+-----------------+
| nofak             | tanggal           | kdplg            | namaplg         | kota               |
+----------------+----------------+----------------+----------------+-----------------+
| FKT001         | 2011-05-10    | PL001            | Bambang       | Medan           |
| FKT002         | 2011-05-22    | PL003            | Alfarisi          | Binjai             |
| FKT003         | 2011-05-25    | PL005            | Pipit Novel    | Siantar           |
| FKT004         | 2011-05-27    | PL002            | Boby Siregar | Medan           |
+----------------+----------------+----------------+-----------------+----------------+
4 rows in set (0.00 sec)





Tugas :
Buatlah sebuah database baru dengan 3 tabel yang dapat dihubungkan. Kemudian buatlah query-query yang bermanfaat untuk ditampilkan dari ketiga tabel tersebut.


0 komentar:

Posting Komentar

Arsip Blog