Laporan Praktikum Desain Basis Data III : Perintah SQL

Sunday, October 5, 2014


Teori

A. Pengertian SQL
   Structure Query Language (SQL) merupakan bahasa standar yang ditetapkan oleh Americ National Standars Institute (ANSI) untuk mengakses dan memanipulasi data pada Database Relational.Karena sifatnya standar maka setiap software RDMS harus menerapkan bahasa SQL dengan diperbolehkan untuk mengembangkan atau menyertakan perintah-perintah yang non standar.

B. Beberapa Fungsinya Perintah SQL
1. Query
   Perintah yang digunakan untuk menampilkan data dari database, perintah yang digunakan adalah SELECT.


2. DML (Data Manipulation Language)
   Perintah yang digunakan untuk manipulasi data seperti menambah, mengedit, menghapus data. Perintah yang digunakan INSERT, DELETE, UPDATE, MERGE

3. DDL (Data Definition Language)
   Perintah yang digunakan untuk mendefiniskan struktur Objek database seperti membuat tabel, mengubah struktur tabel, menghapus tabel. Perintah yang digunakan CREATE, ALTER, DROP, TRUNCATE, RENAME

4. DCL (Data Control Language)
   Perintah yang digunakan untuk mengatur perijinan akses terhadap database. Perintah yang digunakan GRANT, REVOKE

5. TCL (Transaction Control Language)
   Perintah yang digunakan untuk menentukan suatu transaksi diterapkan secara permanen atau dibatalkan. Perintah yang digunakan COMMIT, ROLLBACK, SAVEPOINT.

C. Aturan Penulisan Perintah SQL
  1. Perintah dapat ditulis dalam huruf besar maupun kecil.
  2. Setiap perintah diakhiri dengan tanda titik koma “ ; “
  3. Perintah dapat ditulis satu atau beberapa baris untuk memberikan komentar pada perintah SQL. Gunakan tanda minus “ - - “ untuk  komentar 1 baris, atau di antara tanda “ \* “ dan “ *\ “ untuk komentar beberapa baris. 

D. Perintah Dasar SQL dengan Fungsinya
1. Perintah SELECT
Berfungsi untuk menampilkan data dari tabel, sintak dasarnya seperti berikut :
SELECT namakolom, namakolom,… FROM namatabel WHERE kriteria;
Contoh :
  1. SELECT nis,nama,kelas FROM siswa;
  2. SELECT * FROM siswa;
  3. SELECT nis,nama,kelas FROM siswa WHERE kelas = ‘3C’;
  4. SELECT * FROM siswa WHERE nama like ‘AN%’ ORDER BY nama ASC;

Keterangan :
  • Perintah WHERE merupakan Optional tidak harus disertakan seperti SELECT dan FROM.
  •  Contoh ‘a’ menampilkan semua informasi nis,nama,kelas dari data siswa.
  • Contoh ‘b’ menampilkan semua data siswa.
  • Contoh ‘c’ menampilkan semua informasi nis,nama,kelas dari data siswa kelas 3C.
  • Contoh ‘d’ menampilkan semua data siswa yang namanya diawali dengan “AN” dan diurutkan berdasarkan nama secara Ascending.

2. Perintah INSERT
Berfungsi untuk menambah informasi/data baru kedalam tabel. Sintak dasarnya seperti berikut :   
INSERT INTO namatabel (kolom) VALUES (value); Contoh :
  •  INSERT INTO siswa (nis,nama,kelas) VALUES (‘103099981’,’AIDA AGUSTINA’,’3C’); atau
  •   INSERT INTO siswa VALUES (‘103099981’,’AIDA AGUSTINA’,’3C’);

3. Perintah DELETE
 Berfungsi untuk menghapus informasi/data pada tabel. Sintaknya sebagai berikut :
 DELETE FROM namatabel WHERE keriteria;
  •  Contoh : DELETE FROM siswa WHERE nama = ‘AIDA AGUSTINA’;
  • Keterangan : Menghapus data siswa yang memiliki nama “AIDA AGUSTINA”

4. Perintah UPDATE
 Berfungsi untuk memperbaiki informasi/data pada tabel. Sintaknya sebagai berikut:
 UPDATE namatabel SET namakolom=value WHERE keriteria;
  • Contoh : UPDATE siswa SET nama=’HERDI’ WHERE nis=’10309965’;
  • Keterangan : Mengganti nama menjadi “HERDI” untuk siswa yang mempunyaI nis “10309965”
Source >> http://siteblogforu.blogspot.com/2013/09/pengertian-dan-perintah-sql.html

   Hubungan Antar Tabel (Reference)  
   Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti, antara tabel yang ingin dihubungkan harus memiliki sebuah field atau kolom dengan tipe data yang sama. Dengan kata lain ada tabel yang memiliki primary key sebagai kunci untuk menghubungkan ke tabel yang lain dimana terdapat field yang mempunyai tipe data yang sama dengan kata lain yang disebut foreign key. Misalnya, terdapat tabel barang dan macam_barang. Berikut query kedua tabel tersebut :
  • create table macam_barang (id_mac integer not null, nama_mac varchar(15), guna_mac varchar(40), primary key (id_mac)); 
  • create table barang (id_bar integer not null, nama_bar varchar(15), id_mac integer not null references macam_barang, primary key (id_bar, id_mac));  
Atau ketika kita lupa memberikan references pada tabel macam barang kita dapat memberikan query sebagai berikut : 

  • alter table barang add constraint relasi_barang foreign key (id_mac) references macam_barang (id_mac) on update no action on delete no action
Source >> Musthofa, Aziz. Modul Praktikum Desain Basis Data. Malang

Tugas & Praktikum

   PostgreSQL (shell) :

 Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
WARNING: Console code page (850) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 innamul   | Create DB                                      | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}


postgres=# \l
                                                   List of databases
      Name       |  Owner   | Encoding |          Collate          |           C
type           |   Access privileges
-----------------+----------+----------+---------------------------+------------
---------------+-----------------------
 innamul13650019 | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 |
 postgres        | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 |
 template0       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 | =c/postgres          +
                 |          |          |                           |
               | postgres=CTc/postgres
 template1       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 | =c/postgres          +
                 |          |          |                           |
               | postgres=CTc/postgres
(4 rows)


postgres=# /c innamul13650019;
ERROR:  syntax error at or near "/"
LINE 1: /c innamul13650019;
        ^
postgres=# /c innamul13650019
postgres-# ;
ERROR:  syntax error at or near "/"
LINE 1: /c innamul13650019
        ^
postgres=# \c innamul13650019
WARNING: Console code page (850) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
You are now connected to database "innamul13650019" as user "postgres".
innamul13650019=# create table fakultas (id_fak integer not null, nama_fak varch
ar (20), primary key (id_fak));
CREATE TABLE
innamul13650019=# \z
                              Access privileges
 Schema |     Name     | Type  | Access privileges | Column access privileges
--------+--------------+-------+-------------------+--------------------------
 public | fakultas     | table |                   |

(1 rows)


innamul13650019=# select * from fakultas
innamul13650019-# ;
 id_fak | nama_fak
--------+----------
(0 rows)


innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references from fakultas, pr
ymary key (nim_mah, id_fak));
ERROR:  syntax error at or near "from"
LINE 1: ...amat_mah text, id_fak integer not null references from fakul...
                                                             ^
innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references to fakultas, prym
ary key (nim_mah, id_fak));
ERROR:  syntax error at or near "to"
LINE 1: ...amat_mah text, id_fak integer not null references to fakulta...
                                                             ^
innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references fakultas, prymary
 key (nim_mah, id_fak));
ERROR:  type "key" does not exist
LINE 1: ...fak integer not null references fakultas, prymary key (nim_m...
                                                             ^
innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references fakultas, primary
 key (nim_mah, id_fak));
CREATE TABLE
innamul13650019=# /z
innamul13650019-# ;
ERROR:  syntax error at or near "/"
LINE 1: /z
        ^
innamul13650019=# \z
                              Access privileges
 Schema |     Name     | Type  | Access privileges | Column access privileges
--------+--------------+-------+-------------------+--------------------------
 public | fakultas     | table |                   |
 public | identitasnim | table |                   |
 public | mahasiswa    | table |                   |
 public | pekerjanim   | table |                   |
(4 rows)


innamul13650019=# select * from mahasiswa;
 nim_mah | mana_mah | alamat_mah | id_fak
---------+----------+------------+--------
(0 rows)


innamul13650019=# \d mahasiswa
            Table "public.mahasiswa"
   Column   |         Type          | Modifiers
------------+-----------------------+-----------
 nim_mah    | integer               | not null
 mana_mah   | character varying(20) |
 alamat_mah | text                  |
 id_fak     | integer               | not null
Indexes:
    "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
Foreign-key constraints:
    "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


innamul13650019=# insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
innamul13650019"# "
innamul13650019(# )
innamul13650019-# ;
ERROR:  column "PSIKOLOGI');
" does not exist
LINE 1: insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
                                                      ^
innamul13650019=# insert into fakultas values (1, 'SAINTEK');
INSERT 0 1
innamul13650019=# insert into fakultas values (2, 'PSIKOLOGI');
INSERT 0 1
innamul13650019=# select * from fakultas
innamul13650019-# ;
 id_fak | nama_fak
--------+-----------
      1 | SAINTEK
      2 | PSIKOLOGI
(2 rows)

innamul13650019=# \d mahasiswa
           Table "public.mahasiswa"
Column  |         Type          | Modifiers
------------+-----------------------+-----------
 nim_mah    | integer               | not null
 nama_mah   | character varying(20) |
 alamat_mah | text                  |
 id_fak     | integer               | not null
 no_hp      | integer               |
Indexes:
    "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
Foreign-key constraints:
    "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


innamul13650019=# \d fakultas
           Table "public.fakultas"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 id_fak   | integer               | not null
 nama_fak | character varying(20) |
Indexes:
    "fakultas_pkey" PRIMARY KEY, btree (id_fak)
Referenced by:
    TABLE "mahasiswa" CONSTRAINT "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) RE
FERENCES fakultas(id_fak)


innamul13650019=# select * from fakultas
innamul13650019-# ;
 id_fak | nama_fak
--------+-----------
      1 | SAINTEK
      2 | PSIKOLOGI
(2 rows)


innamul13650019=# \d mahasiswa
            Table "public.mahasiswa"
   Column   |         Type          | Modifiers
------------+-----------------------+-----------
 nim_mah    | integer               | not null
 nama_mah   | character varying(20) |
 alamat_mah | text                  |
 id_fak     | integer               | not null
 no_hp      | integer               |
Indexes:
    "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
Foreign-key constraints:
    "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


innamul13650019=# insert into mahasiswa values (12, 'Edi','Malang', 1, 085645342
8)
innamul13650019-# ;
INSERT 0 1
innamul13650019=# select * from mahasiswa
innamul13650019-# ;
 nim_mah | nama_mah | alamat_mah | id_fak |   no_hp
---------+----------+------------+--------+-----------
      12 | Edi      | Malang     |      1 | 856453428
(1 row)


innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
65675);
ERROR:  integer out of range
innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
65673);
ERROR:  integer out of range
innamul13650019=# alter table mahasiswa  alter column no_hp type varchar(15);
ALTER TABLE
innamul13650019=# select * from mahasiswa
innamul13650019-# ;
 nim_mah | nama_mah | alamat_mah | id_fak |   no_hp
---------+----------+------------+--------+-----------
      12 | Edi      | Malang     |      1 | 856453428
(1 row)
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
WARNING: Console code page (850) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 innamul   | Create DB                                      | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}


postgres=# \l
                                                   List of databases
      Name       |  Owner   | Encoding |          Collate          |           C
type           |   Access privileges
-----------------+----------+----------+---------------------------+------------
---------------+-----------------------
 innamul13650019 | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 |
 postgres        | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 |
 template0       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 | =c/postgres          +
                 |          |          |                           |
               | postgres=CTc/postgres
 template1       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
Indonesia.1252 | =c/postgres          +
                 |          |          |                           |
               | postgres=CTc/postgres
(4 rows)


postgres=# /c innamul13650019;
ERROR:  syntax error at or near "/"
LINE 1: /c innamul13650019;
        ^
postgres=# /c innamul13650019
postgres-# ;
ERROR:  syntax error at or near "/"
LINE 1: /c innamul13650019
        ^
postgres=# \c innamul13650019
WARNING: Console code page (850) differs from Windows code page (1252)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
You are now connected to database "innamul13650019" as user "postgres".
innamul13650019=# create table fakultas (id_fak integer not null, nama_fak varch
ar (20), primary key (id_fak));
CREATE TABLE
innamul13650019=# \z
                              Access privileges
 Schema |     Name     | Type  | Access privileges | Column access privileges
--------+--------------+-------+-------------------+--------------------------
 public | fakultas     | table |                   |
 public | identitasnim | table |                   |
 public | pekerjanim   | table |                   |
(3 rows)


innamul13650019=# select * from fakultas
innamul13650019-# ;
 id_fak | nama_fak
--------+----------
(0 rows)


innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references from fakultas, pr
ymary key (nim_mah, id_fak));
ERROR:  syntax error at or near "from"
LINE 1: ...amat_mah text, id_fak integer not null references from fakul...
                                                             ^
innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references to fakultas, prym
ary key (nim_mah, id_fak));
ERROR:  syntax error at or near "to"
LINE 1: ...amat_mah text, id_fak integer not null references to fakulta...
                                                             ^
innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references fakultas, prymary
 key (nim_mah, id_fak));
ERROR:  type "key" does not exist
LINE 1: ...fak integer not null references fakultas, prymary key (nim_m...
                                                             ^
innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
char (20), alamat_mah text, id_fak integer not null references fakultas, primary
 key (nim_mah, id_fak));
CREATE TABLE
innamul13650019=# /z
innamul13650019-# ;
ERROR:  syntax error at or near "/"
LINE 1: /z
        ^
innamul13650019=# \z
                              Access privileges
 Schema |     Name     | Type  | Access privileges | Column access privileges
--------+--------------+-------+-------------------+--------------------------
 public | fakultas     | table |                   |
 public | identitasnim | table |                   |
 public | mahasiswa    | table |                   |
 public | pekerjanim   | table |                   |
(4 rows)


innamul13650019=# select * from mahasiswa;
 nim_mah | mana_mah | alamat_mah | id_fak
---------+----------+------------+--------
(0 rows)


innamul13650019=# \d mahasiswa
            Table "public.mahasiswa"
   Column   |         Type          | Modifiers
------------+-----------------------+-----------
 nim_mah    | integer               | not null
 mana_mah   | character varying(20) |
 alamat_mah | text                  |
 id_fak     | integer               | not null
Indexes:
    "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
Foreign-key constraints:
    "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


innamul13650019=# insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
innamul13650019"# "
innamul13650019(# )
innamul13650019-# ;
ERROR:  column "PSIKOLOGI');
" does not exist
LINE 1: insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
                                                      ^
innamul13650019=# insert into fakultas values (1, 'SAINTEK');
INSERT 0 1
innamul13650019=# insert into fakultas values (2, 'PSIKOLOGI');
INSERT 0 1
innamul13650019=# select * from fakultas
innamul13650019-# ;
 id_fak | nama_fak
--------+-----------
      1 | SAINTEK
      2 | PSIKOLOGI
(2 rows)


innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
65673);
INSERT 0 1
innamul13650019=# select * from mahasiswa;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      12 | Edi      | Malang     |      1 | 856453428
      13 | Shinta   | Jogja      |      1 | 813347565673
(2 rows)


innamul13650019=# insert into mahasiswa values (14, 'Luki', 'Ponorogo', 2, '0825
76568798);
innamul13650019'#
innamul13650019'# select * from mahasiswa
innamul13650019'# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
65673');
ERROR:  syntax error at or near "Shinta"
LINE 4: insert into mahasiswa values (13, 'Shinta','Jogja',1, 081334...
                                           ^
innamul13650019=# insert into mahasiswa values (14, 'Luki', 'Ponorogo', 2, '0825
76568798');
INSERT 0 1
innamul13650019=# select * from mahasiswa;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      12 | Edi      | Malang     |      1 | 856453428
      13 | Shinta   | Jogja      |      1 | 813347565673
      14 | Luki     | Ponorogo   |      2 | 082576568798
(3 rows)


innamul13650019=# select * from fakultas;
 id_fak | nama_fak
--------+-----------
      1 | SAINTEK
      2 | PSIKOLOGI
(2 rows)


innamul13650019=# delete from mahasiswa where nim_mah= 12;
DELETE 1
innamul13650019=# delete from mahasiswa where nim_mah= 13;
DELETE 1
innamul13650019=# select * from mahasiswa; nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
(1 row)


innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, '0813347
565673');
INSERT 0 1
innamul13650019=# insert into mahasiswa values (12, 'Edi','Malang', 1, '08564534
28');
INSERT 0 1
innamul13650019=# select * from mahasiswa;
 nim_mah | nama_mah | alamat_mah | id_fak |     no_hp
---------+----------+------------+--------+---------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
      13 | Shinta   | Jogja      |      1 | 0813347565673
      12 | Edi      | Malang     |      1 | 0856453428
(3 rows)


innamul13650019=#  select nim_mah, nama_mah from mahasiswa;
 nim_mah | nama_mah
---------+----------
      14 | Luki
      13 | Shinta
      12 | Edi
(3 rows)


innamul13650019=# select * from mahasiswa where nim_mah=13;
 nim_mah | nama_mah | alamat_mah | id_fak |     no_hp
---------+----------+------------+--------+---------------
      13 | Shinta   | Jogja      |      1 | 0813347565673
(1 row)


innamul13650019=# select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas wh
ere id_fak.mahasiswa=id_fak.fakultas;
ERROR:  missing FROM-clause entry for table "id_fak"
LINE 1: ...nama_mah, nama_fak from mahasiswa, fakultas where id_fak.mah...
                                                             ^
innamul13650019=# select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas wh
ere mahasiswa.id_fak=fakultas.id_fak;
 nim_mah | nama_mah | nama_fak
---------+----------+-----------
      14 | Luki     | PSIKOLOGI
      13 | Shinta   | SAINTEK
      12 | Edi      | SAINTEK
(3 rows)


innamul13650019=# delete from mahasiswa where nim_mah= 13;
DELETE 1
innamul13650019=# select * from mahasiswa;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
      12 | Edi      | Malang     |      1 | 0856453428
(2 rows)


innamul13650019=# update mahasiswa set alamat_mah='Solo' where nim_mah=12;
UPDATE 1
innamul13650019=# update mahasiswa set no_hp='0857688788' where nim_mah=12;
UPDATE 1
innamul13650019=# select * from mahasiswa;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
      12 | Edi      | Solo       |      1 | 0857688788
(2 rows)


innamul13650019=# select * from mahasiswa order by nim_mah;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      12 | Edi      | Solo       |      1 | 0857688788
      14 | Luki     | Ponorogo   |      2 | 082576568798
(2 rows)


innamul13650019=# select * from mahasiswa order by nim_mah desc;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
      12 | Edi      | Solo       |      1 | 0857688788
(2 rows)


innamul13650019=# select * from fakultas ;
 id_fak | nama_fak
--------+-----------
      1 | SAINTEK
      2 | PSIKOLOGI
(2 rows)


innamul13650019=# select * from fakultas order by nama_fak;
 id_fak | nama_fak
--------+-----------
      2 | PSIKOLOGI
      1 | SAINTEK
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
ltas.id_fak;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+-----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
      12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
(2 rows)


innamul13650019=# select *  from mahasiswa where mahasiswa.id_fak=fakultas.id_fa
k;
ERROR:  missing FROM-clause entry for table "fakultas"
LINE 1: select *  from mahasiswa where mahasiswa.id_fak=fakultas.id_...
                                                        ^
innamul13650019=# select *  from mahasiswa where mahasiswa.id_fak=2;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
(1 row)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+-----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2, f
akultas.id_fak=2;
ERROR:  syntax error at or near ","
LINE 1: ... from mahasiswa, fakultas where mahasiswa.id_fak=2, fakultas...
                                                             ^
innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
ltas.id_fak;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+-----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
      12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
ltas.id_fak=2;
ERROR:  operator does not exist: integer = boolean
LINE 1: ...*  from mahasiswa, fakultas where mahasiswa.id_fak=fakultas....
                                                             ^
HINT:  No operator matches the given name and argument type(s). You might need t
o add explicit type casts.
innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+-----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
(2 rows)


innamul13650019=# select * from mahasiswal
innamul13650019-# select * from mahasiswa;
ERROR:  syntax error at or near "select"
LINE 2: select * from mahasiswa;
        ^
innamul13650019=# select * from mahasiswa;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
      12 | Edi      | Solo       |      1 | 0857688788
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+-----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2, f
akultas.id_fak=2;
ERROR:  syntax error at or near ","
LINE 1: ... from mahasiswa, fakultas where mahasiswa.id_fak=2, fakultas...
                                                             ^
innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2 fa
kultas.id_fak=2;
ERROR:  syntax error at or near "fakultas"
LINE 1: ...from mahasiswa, fakultas where mahasiswa.id_fak=2 fakultas.i...
                                                             ^
innamul13650019=# select * from mahasiswa;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
---------+----------+------------+--------+--------------
      14 | Luki     | Ponorogo   |      2 | 082576568798
      12 | Edi      | Solo       |      1 | 0857688788
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where nama_fak='SAINTEK';
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
      12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where fakultas.nama_fak='SA
INTEK';
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
      12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where fakultas.nama_fak='SA
INTEK';
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
      12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
ltas.id_fak;
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+-----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
      12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
(2 rows)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
ltas.id_fak and nama_fak='SAINTEK';
 nim_mah | nama_mah | alamat_mah | id_fak |   no_hp    | id_fak | nama_fak
---------+----------+------------+--------+------------+--------+----------
      12 | Edi      | Solo       |      1 | 0857688788 |      1 | SAINTEK
(1 row)


innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
ltas.id_fak and nama_fak!='SAINTEK';
 nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
---------+----------+------------+--------+--------------+--------+-----------
      14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
(1 row)


innamul13650019=# drop table fakultas;
ERROR:  cannot drop table fakultas because other objects depend on it
DETAIL:  constraint mahasiswa_id_fak_fkey on table mahasiswa depends on table fa
kultas
HINT:  Use DROP ... CASCADE to drop the dependent objects too.
innamul13650019=# select * from fakultas;
 id_fak | nama_fak
--------+-----------
      1 | SAINTEK
      2 | PSIKOLOGI
(2 rows)


innamul13650019=# delete data mahasiswa;
ERROR:  syntax error at or near "data"
LINE 1: delete data mahasiswa;
               ^
innamul13650019=# delete mahasiswa;
ERROR:  syntax error at or near "mahasiswa"
LINE 1: delete mahasiswa;
               ^
innamul13650019=# drop mahasiswa;
ERROR:  syntax error at or near "mahasiswa"
LINE 1: drop mahasiswa;
             ^
innamul13650019=# drop table mahasiswa;
DROP TABLE
innamul13650019=# drop table fakultas;
DROP TABLE
innamul13650019=# \d
            List of relations
 Schema |     Name     | Type  |  Owner
--------+--------------+-------+----------
 public | identitasnim | table | postgres
(1 row)


innamul13650019=# select * from identitasnim;
 idn_idn | namadepan_idn | namabelakang_idn | tgl_lahir_idn | status_idn | alama
t_idn
---------+---------------+------------------+---------------+------------+------
------
(0 rows)


innamul13650019=#

   MySQL (SQLyog) :















Evaluasi Perbandingan DBMS
   Dalam penggunaan PostgreSQL maupun MySQL(SQLyog) sama sekali tidak ada perbedaan dalam penggunaan query, hanya saja pada MySQL kita ngga diharuskan untuk menambahkan (;) pada setiap query yang akan di 'run', dan terdapat perbedaan lainnya seperti pada penggunaan tanda (" ") dalam query tersebut. dan dalam pengerjaan tugas rumah pun ngga terdapat permasalahan yang mengharuskan user untuk mencari query ke google seperti pada bab-bab sebelumnya.

Kesimpulan
   Kembali ke awal, semuanya dikembalikan kepada readers pingin pake Postgre ataupun SQLyog, karena pada dasarnya keduanya ngga terlalu berbeda,  so pasti karena keduanya sama-sama pake bahasa SQL, hahaha
   Tapi walaupun pada bab kali ini ngga ada perbedaan yang berarti, tetap aja komitmen pada SQL yang dibutuhkan agar dapat menguasai semua IDE SQL, jadi tetap belajar aja yo! belajar bareng sama aku juga bisa, hahaha kok aku sok penguasa dunia SQL gitu ya -_-

   See you next week in my task, bye bye