Algebra (from Arabic al-jebr meaning "reunion of broken parts") is the branch of mathematics concerning the study of the rules of operations and relations, and the constructions and concepts arising from them, including terms, polynomials, equations and algebraic structures. Together with geometry, analysis, topology, combinatorics, and number theory, algebra is one of the main branches of pure mathematics. Algebra has numerous usages in daily life and is commonly taught in public schools.
Elementary algebra, often part of the curriculum in secondary education, introduces the concept of variables representing numbers. Statements based on these variables are manipulated using the rules of operations that apply to numbers, such as addition. This can be done for a variety of reasons, including equation solving. Algebra is much broader than elementary algebra and studies what happens when different rules of operations are used and when operations are devised for things other than numbers. Addition and multiplication can be generalized and their precise definitions lead to structures such as groups, rings and fields, studied in the area of mathematics called abstract algebra.
The Greek mathematician Diophantus has traditionally been known as the "father of algebra", but in more recent times there is much debate over whether Muhammad ibn Musa al-Khwarizmi deserves that title instead.
You can download The Study Case & solution Lab Oracle & SQL Expert
=== 7. aljabar relasional ===
== 7.1 union (gabungan) ==
union bertujuan menggabungkan dua query atau lebih menjadi satu kesatuan query dengan syarat query/subquery yang akan digabung harus memiliki domain kolom yang sama
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT field 1,...,field n,[agregate function]
FROM table
[WHERE] [criteria]
[GROUP BY] [field 1,...,field n]
UNION
SELECT field 1,...,field n,[agregate function]
FROM table
[WHERE] [kriteria]
[GROUP BY] [field 1,...,field n]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SQL> select * from pasok;
KODE_PASOK KODE_B KODE_ TANGGAL_P JUMLAH_PASOK KETERANGAN
---------- ------ ----- --------- ------------ ---------------
PAS-E001 ELK-01 EJ-01 01-JAN-02 8
PAS-E002 ELK-01 EJ-02 01-JAN-02 5
PAS-E003 ELK-02 EJ-01 01-FEB-02 2
PAS-E004 ELK-02 EJ-02 02-FEB-02 3
PAS-E005 ELK-02 EB-02 01-JAN-02 2
PAS-E006 ELK-03 EJ-01 03-MAR-02 5
PAS-E007 ELK-03 EJ-01 04-MAR-02 2
PAS-E008 ELK-03 EJ-01 03-MAR-02 3
PAS-E009 ELK-03 EB-01 13-MAR-02 4
PAS-E010 ELK-03 EB-01 13-MAR-02 3
PAS-E011 ELK-04 EB-01 22-APR-02 12
PAS-E012 ELK-04 EB-02 30-APR-02 9
12 rows selected.
SQL>
= query 1 ==
SQL> select KODE_SUPLIER, count(JUMLAH_PASOK) as CACAH_PASOK, sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-01' group by KODE_SUPLIER;
KODE_ CACAH_PASOK TOTAL_PASOK
----- ----------- -----------
EJ-01 5 20
SQL>
= query 2 =
SQL> select KODE_SUPLIER,count(JUMLAH_PASOK) as CACAH_PASOK, sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-02' group by KODE_SUPLIER;
KODE_ CACAH_PASOK TOTAL_PASOK
----- ----------- -----------
EJ-02 2 8
SQL>
= query 3 =
SQL> select KODE_SUPLIER,count(JUMLAH_PASOK) as CACAH_PASOK, sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER in('EB-01','EB-02') group by KODE_SUPLIER;
KODE_ CACAH_PASOK TOTAL_PASOK
----- ----------- -----------
EB-02 2 11
EB-01 3 19
SQL>
SQL> select KODE_SUPLIER,count(JUMLAH_PASOK) as CACAH_PASOK, sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER in('EJ-01','EJ-02') group by KODE_SUPLIER;
KODE_ CACAH_PASOK TOTAL_PASOK
----- ----------- -----------
EJ-02 2 8
EJ-01 5 20
SQL>
= query 1 & query 2 =
SQL> select KODE_SUPLIER, count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-01' group by KODE_SUPLIER UNIONselect KODE_SUPLIER, count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-02' group by KODE_SUPLIER;
KODE_ CACAH_PASOK TOTAL_PASOK
----- ----------- -----------
EJ-01 5 20
EJ-02 2 8
SQL>
SQL> select KODE_SUPLIER, count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-01' group by KODE_SUPLIER union select KODE_SUPLIER, count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-02' group by KODE_SUPLIER;
KODE_ CACAH_PASOK TOTAL_PASOK
----- ----------- -----------
EJ-01 5 20
EJ-02 2 8
SQL>
SQL> select KODE_SUPLIER, count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-01' group by KODE_SUPLIER UNIONselect KODE_SUPLIER, count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER='EJ-02' group by KODE_SUPLIER UNION select KODE_SUPLIER,count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok where KODE_SUPLIER in('EB-01','EB-02') group by KODE_SUPLIER;
KODE_ CACAH_PASOK TOTAL_PASOK
----- ----------- -----------
EB-01 3 19
EB-02 2 11
EJ-01 5 20
EJ-02 2 8
SQL>
== 7.2 intersection (irisan) ==
irisan bertujuan mencari isisan diantara query yang ada dengan syarat adanya kesamaan domain pada kolom kolom yang ada
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT field 1,...,field n,[agregate function]
FROM table
[WHERE] [criteria]
[GROUP BY] [field 1,...,field n]
INTERSECT
SELECT field 1,...,field n,[agregate function]
FROM table
[WHERE] [kriteria]
[GROUP BY] [field 1,...,field n]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SQL> select * from pasok;
KODE_PASOK KODE_B KODE_ TANGGAL_P JUMLAH_PASOK KETERANGAN
---------- ------ ----- --------- ------------ ---------------
PAS-E001 ELK-01 EJ-01 01-JAN-02 8
PAS-E002 ELK-01 EJ-02 01-JAN-02 5
PAS-E003 ELK-02 EJ-01 01-FEB-02 2
PAS-E004 ELK-02 EJ-02 02-FEB-02 3
PAS-E005 ELK-02 EB-02 01-JAN-02 2
PAS-E006 ELK-03 EJ-01 03-MAR-02 5
PAS-E007 ELK-03 EJ-01 04-MAR-02 2
PAS-E008 ELK-03 EJ-01 03-MAR-02 3
PAS-E009 ELK-03 EB-01 13-MAR-02 4
PAS-E010 ELK-03 EB-01 13-MAR-02 3
PAS-E011 ELK-04 EB-01 22-APR-02 12
PAS-E012 ELK-04 EB-02 30-APR-02 9
12 rows selected.
SQL>
= query 1 =
SQL> select * from pasok where JUMLAH_PASOK >=4;
KODE_PASOK KODE_B KODE_ TANGGAL_P JUMLAH_PASOK KETERANGAN
---------- ------ ----- --------- ------------ ---------------
PAS-E001 ELK-01 EJ-01 01-JAN-02 8
PAS-E002 ELK-01 EJ-02 01-JAN-02 5
PAS-E006 ELK-03 EJ-01 03-MAR-02 5
PAS-E009 ELK-03 EB-01 13-MAR-02 4
PAS-E011 ELK-04 EB-01 22-APR-02 12
PAS-E012 ELK-04 EB-02 30-APR-02 9
6 rows selected.
SQL>
= query 2 =
SQL> select * from pasok where JUMLAH_PASOK <=8;
KODE_PASOK KODE_B KODE_ TANGGAL_P JUMLAH_PASOK KETERANGAN
---------- ------ ----- --------- ------------ ---------------
PAS-E001 ELK-01 EJ-01 01-JAN-02 8
PAS-E002 ELK-01 EJ-02 01-JAN-02 5
PAS-E003 ELK-02 EJ-01 01-FEB-02 2
PAS-E004 ELK-02 EJ-02 02-FEB-02 3
PAS-E005 ELK-02 EB-02 01-JAN-02 2
PAS-E006 ELK-03 EJ-01 03-MAR-02 5
PAS-E007 ELK-03 EJ-01 04-MAR-02 2
PAS-E008 ELK-03 EJ-01 03-MAR-02 3
PAS-E009 ELK-03 EB-01 13-MAR-02 4
PAS-E010 ELK-03 EB-01 13-MAR-02 3
10 rows selected.
SQL>
= query 1 & query 2 =
SQL> select * from pasok where JUMLAH_PASOK >=4 INTERSECT select * from pasok where JUMLAH_PASOK <=8;
KODE_PASOK KODE_B KODE_ TANGGAL_P JUMLAH_PASOK KETERANGAN
---------- ------ ----- --------- ------------ ---------------
PAS-E001 ELK-01 EJ-01 01-JAN-02 8
PAS-E002 ELK-01 EJ-02 01-JAN-02 5
PAS-E006 ELK-03 EJ-01 03-MAR-02 5
PAS-E009 ELK-03 EB-01 13-MAR-02 4
= query 1 =
SQL>
SQL> select KODE_BARANG,count(JUMLAH_PEMBELIAN) from pembelian group by KODE_BARANG;
KODE_B COUNT(JUMLAH_PEMBELIAN)
------ -----------------------
ELK-02 4
ELK-04 2
ELK-01 5
ELK-03 4
= query 1=
SQL> select KODE_BARANG,count(JUMLAH_PASOK) from pasok group by KODE_BARANG;
KODE_B COUNT(JUMLAH_PASOK)
------ -------------------
ELK-02 3
ELK-04 2
ELK-01 2
ELK-03 5
SQL>
= query 1 & query 2 =
SQL> select KODE_BARANG,count(JUMLAH_PEMBELIAN) from pembelian group by KODE_BARANG INTERSECT select KODE_BARANG,count(JUMLAH_PASOK) from pasok group by KODE_BARANG;
KODE_B COUNT(JUMLAH_PEMBELIAN)
------ -----------------------
ELK-04 2
SQL>
== 7.3 difference (minus) ==
minus bertujuan untuk menampilkan data hasil pengurangan dari dua query atau sub query dengan syarat mempunyai domain yang sama
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT field 1,...,field n,[agregate function]
FROM table
[WHERE] [criteria]
[GROUP BY] [field 1,...,field n]
MINUS | DIFFERENCE
SELECT field 1,...,field n,[agregate function]
FROM table
[WHERE] [kriteria]
[GROUP BY] [field 1,...,field n]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SQL> select * from pasok;
KODE_PASOK KODE_B KODE_ TANGGAL_P JUMLAH_PASOK KETERANGAN
---------- ------ ----- --------- ------------ ---------------
PAS-E001 ELK-01 EJ-01 01-JAN-02 8
PAS-E002 ELK-01 EJ-02 01-JAN-02 5
PAS-E003 ELK-02 EJ-01 01-FEB-02 2
PAS-E004 ELK-02 EJ-02 02-FEB-02 3
PAS-E005 ELK-02 EB-02 01-JAN-02 2
PAS-E006 ELK-03 EJ-01 03-MAR-02 5
PAS-E007 ELK-03 EJ-01 04-MAR-02 2
PAS-E008 ELK-03 EJ-01 03-MAR-02 3
PAS-E009 ELK-03 EB-01 13-MAR-02 4
PAS-E010 ELK-03 EB-01 13-MAR-02 3
PAS-E011 ELK-04 EB-01 22-APR-02 12
PAS-E012 ELK-04 EB-02 30-APR-02 9
12 rows selected.
SQL>
= query 1 =
SQL> select KODE_BARANG,count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok group by KODE_BARANG;
KODE_B CACAH_PASOK TOTAL_PASOK
------ ----------- -----------
ELK-02 3 7
ELK-04 2 21
ELK-01 2 13
ELK-03 5 17
= query 2 =
SQL> select KODE_BARANG,count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok having sum(JUMLAH_PASOK)>15 group by KODE_BARANG;
KODE_B CACAH_PASOK TOTAL_PASOK
------ ----------- -----------
ELK-04 2 21
ELK-03 5 17
SQL>
= query 1 & query 2 =
SQL> select KODE_BARANG,count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok group by KODE_BARANG MINUS select KODE_BARANG,count(JUMLAH_PASOK) as CACAH_PASOK,sum(JUMLAH_PASOK) as TOTAL_PASOK from pasok having sum(JUMLAH_PASOK)>15 group by KODE_BARANG;
KODE_B CACAH_PASOK TOTAL_PASOK
------ ----------- -----------
ELK-01 2 13
ELK-02 3 7
SQL>
= 7.4 proyeksi/distinct =
distinct digunakan untuk menghilangkan nilai ganda
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT field 1,...,field n,[agregate function]
FROM table
[WHERE] [criteria]
[GROUP BY] [field 1,...,name_field n]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SQL> select KODE_BARANG,TANGGAL_PEMBELIAN,JUMLAH_PEMBELIAN from pembelian;
KODE_B TANGGAL_P JUMLAH_PEMBELIAN
------ --------- ----------------
ELK-01 20-MAY-02 3
ELK-01 21-MAY-02 4
ELK-01 20-MAY-02 2
ELK-01 20-MAY-02 2
ELK-01 22-MAY-02 3
ELK-02 24-JUN-02 1
ELK-02 24-JUN-02 1
ELK-02 25-JUN-02 2
ELK-02 25-JUN-02 2
ELK-03 20-JUN-02 5
ELK-03 02-JUL-02 4
ELK-03 04-JUL-02 6
ELK-03 10-JUL-02 5
ELK-04 15-JUL-02 12
ELK-04 17-JUL-02 15
15 rows selected.
SQL>
SQL> select DISTINCT KODE_BARANG,TANGGAL_PEMBELIAN,JUMLAH_PEMBELIAN from pembelian;
KODE_B TANGGAL_P JUMLAH_PEMBELIAN
------ --------- ----------------
ELK-01 22-MAY-02 3
ELK-03 20-JUN-02 5
ELK-04 17-JUL-02 15
ELK-02 25-JUN-02 2
ELK-03 02-JUL-02 4
ELK-03 04-JUL-02 6
ELK-01 20-MAY-02 3
ELK-01 20-MAY-02 2
ELK-02 24-JUN-02 1
ELK-03 10-JUL-02 5
ELK-01 21-MAY-02 4
ELK-04 15-JUL-02 12
12 rows selected.
SQL>
== 7.5 join/inner join/normal join/equal join(=) ==
bertujuan untuk mencari kesamaan data antara table yang satu dengan table yang lain
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT table-1.field-1,...,table-1.field-n,
table-2.field-1,...,table-2.field-n,
table-n.field-1,...,table-n.field-n,
FROM table-1,...,table-n
WHERE table-1.field_PK = table-2.field_PK AND
table-2.field_PK = table-n.field_PK
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SQL> select barang.NAMA_BARANG,pasok.TANGGAL_PASOK,pasok.JUMLAH_PASOK from barang,pasok where barang.KODE_BARANG=pasok.KODE_BARANG;
NAMA_BARANG TANGGAL_P JUMLAH_PASOK
------------------------- --------- ------------
RICE COOKER 01-JAN-02 8
RICE COOKER 01-JAN-02 5
LEMARI ES 01-FEB-02 2
LEMARI ES 02-FEB-02 3
LEMARI ES 01-JAN-02 2
TELEVISI 03-MAR-02 5
TELEVISI 13-MAR-02 3
TELEVISI 04-MAR-02 2
TELEVISI 03-MAR-02 3
TELEVISI 13-MAR-02 4
RADIO/TAPE 22-APR-02 12
RADIO/TAPE 30-APR-02 9
12 rows selected.
SQL>
SQL> select barang.NAMA_BARANG,pasok.TANGGAL_PASOK,pasok.JUMLAH_PASOK from barang join pasok on barang.KODE_BARANG=pasok.KODE_BARANG;
NAMA_BARANG TANGGAL_P JUMLAH_PASOK
------------------------- --------- ------------
RICE COOKER 01-JAN-02 8
RICE COOKER 01-JAN-02 5
LEMARI ES 01-FEB-02 2
LEMARI ES 02-FEB-02 3
LEMARI ES 01-JAN-02 2
TELEVISI 03-MAR-02 5
TELEVISI 13-MAR-02 3
TELEVISI 04-MAR-02 2
TELEVISI 03-MAR-02 3
TELEVISI 13-MAR-02 4
RADIO/TAPE 22-APR-02 12
RADIO/TAPE 30-APR-02 9
12 rows selected.
SQL>
SQL> select b.NAMA_BARANG,p.TANGGAL_PASOK,p.JUMLAH_PASOK from barang b join pasok p on b.KODE_BARANG=p.KODE_BARANG;
NAMA_BARANG TANGGAL_P JUMLAH_PASOK
------------------------- --------- ------------
RICE COOKER 01-JAN-02 8
RICE COOKER 01-JAN-02 5
LEMARI ES 01-FEB-02 2
LEMARI ES 02-FEB-02 3
LEMARI ES 01-JAN-02 2
TELEVISI 03-MAR-02 5
TELEVISI 13-MAR-02 3
TELEVISI 04-MAR-02 2
TELEVISI 03-MAR-02 3
TELEVISI 13-MAR-02 4
RADIO/TAPE 22-APR-02 12
RADIO/TAPE 30-APR-02 9
12 rows selected.
SQL>
SQL> select suplier.NAMA_SUPLIER,pasok.TANGGAL_PASOK,pasok.JUMLAH_PASOK from sup
lier,pasok where suplier.KODE_SUPLIER=pasok.KODE_SUPLIER;
NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------------ --------- ------------
PT ULTRASOUND 13-MAR-02 4
PT ULTRASOUND 13-MAR-02 3
PT ULTRASOUND 22-APR-02 12
PT SUPERTRON 30-APR-02 9
PT SUPERTRON 01-JAN-02 2
PT ACTRON 03-MAR-02 3
PT ACTRON 04-MAR-02 2
PT ACTRON 01-FEB-02 2
PT ACTRON 01-JAN-02 8
PT ACTRON 03-MAR-02 5
PT MULYA ELEKTRONIK 01-JAN-02 5
NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------------ --------- ------------
PT MULYA ELEKTRONIK 02-FEB-02 3
12 rows selected.
SQL> select suplier.NAMA_SUPLIER,pasok.TANGGAL_PASOK,pasok.JUMLAH_PASOK from suplier join pasok on suplier.KODE_SUPLIER=pasok.KODE_SUPLIER;
NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------------ --------- ------------
PT ULTRASOUND 13-MAR-02 4
PT ULTRASOUND 13-MAR-02 3
PT ULTRASOUND 22-APR-02 12
PT SUPERTRON 30-APR-02 9
PT SUPERTRON 01-JAN-02 2
PT ACTRON 03-MAR-02 3
PT ACTRON 04-MAR-02 2
PT ACTRON 01-FEB-02 2
PT ACTRON 01-JAN-02 8
PT ACTRON 03-MAR-02 5
PT MULYA ELEKTRONIK 01-JAN-02 5
PT MULYA ELEKTRONIK 02-FEB-02 3
12 rows selected.
SQL>
SQL> select s.NAMA_SUPLIER,p.TANGGAL_PASOK,p.JUMLAH_PASOK from suplier s,pasok p where s.KODE_SUPLIER=p.KODE_SUPLIER;
NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------------ --------- ------------
PT ULTRASOUND 13-MAR-02 4
PT ULTRASOUND 13-MAR-02 3
PT ULTRASOUND 22-APR-02 12
PT SUPERTRON 30-APR-02 9
PT SUPERTRON 01-JAN-02 2
PT ACTRON 03-MAR-02 3
PT ACTRON 04-MAR-02 2
PT ACTRON 01-FEB-02 2
PT ACTRON 01-JAN-02 8
PT ACTRON 03-MAR-02 5
PT MULYA ELEKTRONIK 01-JAN-02 5
PT MULYA ELEKTRONIK 02-FEB-02 3
12 rows selected.
SQL> select s.NAMA_SUPLIER,p.TANGGAL_PASOK,p.JUMLAH_PASOK from suplier s join pasok p on s.KODE_SUPLIER=p.KODE_SUPLIER;
NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------------ --------- ------------
PT ULTRASOUND 13-MAR-02 4
PT ULTRASOUND 13-MAR-02 3
PT ULTRASOUND 22-APR-02 12
PT SUPERTRON 30-APR-02 9
PT SUPERTRON 01-JAN-02 2
PT ACTRON 03-MAR-02 3
PT ACTRON 04-MAR-02 2
PT ACTRON 01-FEB-02 2
PT ACTRON 01-JAN-02 8
PT ACTRON 03-MAR-02 5
PT MULYA ELEKTRONIK 01-JAN-02 5
PT MULYA ELEKTRONIK 02-FEB-02 3
12 rows selected.
SQL>
SQL> select barang.NAMA_BARANG,suplier.NAMA_SUPLIER,pasok.TANGGAL_PASOK,pasok.JUMLAH_PASOK from barang,suplier,pasok where barang.KODE_BARANG=pasok.KODE_BARANG and suplier.KODE_SUPLIER=pasok.KODE_SUPLIER;
NAMA_BARANG NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------- ------------------------------ --------- ------------
TELEVISI PT ACTRON 03-MAR-02 3
TELEVISI PT ACTRON 04-MAR-02 2
TELEVISI PT ACTRON 03-MAR-02 5
LEMARI ES PT ACTRON 01-FEB-02 2
RICE COOKER PT ACTRON 01-JAN-02 8
LEMARI ES PT MULYA ELEKTRONIK 02-FEB-02 3
RICE COOKER PT MULYA ELEKTRONIK 01-JAN-02 5
RADIO/TAPE PT ULTRASOUND 22-APR-02 12
TELEVISI PT ULTRASOUND 13-MAR-02 4
TELEVISI PT ULTRASOUND 13-MAR-02 3
RADIO/TAPE PT SUPERTRON 30-APR-02 9
LEMARI ES PT SUPERTRON 01-JAN-02 2
12 rows selected.
SQL> select barang.NAMA_BARANG,suplier.NAMA_SUPLIER,pasok.TANGGAL_PASOK,pasok.JUMLAH_PASOK from barang join pasok on barang.KODE_BARANG=pasok.KODE_BARANG join suplier on suplier.KODE_SUPLIER=pasok.KODE_SUPLIER;
NAMA_BARANG NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------- ------------------------------ --------- ------------
TELEVISI PT ACTRON 03-MAR-02 3
TELEVISI PT ACTRON 04-MAR-02 2
TELEVISI PT ACTRON 03-MAR-02 5
LEMARI ES PT ACTRON 01-FEB-02 2
RICE COOKER PT ACTRON 01-JAN-02 8
LEMARI ES PT MULYA ELEKTRONIK 02-FEB-02 3
RICE COOKER PT MULYA ELEKTRONIK 01-JAN-02 5
RADIO/TAPE PT ULTRASOUND 22-APR-02 12
TELEVISI PT ULTRASOUND 13-MAR-02 4
TELEVISI PT ULTRASOUND 13-MAR-02 3
RADIO/TAPE PT SUPERTRON 30-APR-02 9
LEMARI ES PT SUPERTRON 01-JAN-02 2
12 rows selected.
SQL>
SQL> select b.NAMA_BARANG,s.NAMA_SUPLIER,p.TANGGAL_PASOK,p.JUMLAH_PASOK from barang b,suplier s,pasok p where b.KODE_BARANG=p.KODE_BARANG and s.KODE_SUPLIER=p.KODE_SUPLIER;
NAMA_BARANG NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------- ------------------------------ --------- ------------
TELEVISI PT ACTRON 03-MAR-02 3
TELEVISI PT ACTRON 04-MAR-02 2
TELEVISI PT ACTRON 03-MAR-02 5
LEMARI ES PT ACTRON 01-FEB-02 2
RICE COOKER PT ACTRON 01-JAN-02 8
LEMARI ES PT MULYA ELEKTRONIK 02-FEB-02 3
RICE COOKER PT MULYA ELEKTRONIK 01-JAN-02 5
RADIO/TAPE PT ULTRASOUND 22-APR-02 12
TELEVISI PT ULTRASOUND 13-MAR-02 4
TELEVISI PT ULTRASOUND 13-MAR-02 3
RADIO/TAPE PT SUPERTRON 30-APR-02 9
LEMARI ES PT SUPERTRON 01-JAN-02 2
12 rows selected.
SQL> select b.NAMA_BARANG,s.NAMA_SUPLIER,p.TANGGAL_PASOK,p.JUMLAH_PASOK from barang b join pasok p on b.KODE_BARANG=p.KODE_BARANG join suplier s on s.KODE_SUPLIER=p.KODE_SUPLIER;
NAMA_BARANG NAMA_SUPLIER TANGGAL_P JUMLAH_PASOK
------------------------- ------------------------------ --------- ------------
TELEVISI PT ACTRON 03-MAR-02 3
TELEVISI PT ACTRON 04-MAR-02 2
TELEVISI PT ACTRON 03-MAR-02 5
LEMARI ES PT ACTRON 01-FEB-02 2
RICE COOKER PT ACTRON 01-JAN-02 8
LEMARI ES PT MULYA ELEKTRONIK 02-FEB-02 3
RICE COOKER PT MULYA ELEKTRONIK 01-JAN-02 5
RADIO/TAPE PT ULTRASOUND 22-APR-02 12
TELEVISI PT ULTRASOUND 13-MAR-02 4
TELEVISI PT ULTRASOUND 13-MAR-02 3
RADIO/TAPE PT SUPERTRON 30-APR-02 9
LEMARI ES PT SUPERTRON 01-JAN-02 2
12 rows selected.
SQL>
=== 7.6 outer join(left outer join and right outer join) ===
Sintak SQL left outer join Oracle 8i dan sebelumnya
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT A.field-1,...,A.field-n,
B.field-1,...,B.field-n,
FROM table-1 A,table-2 B
WHERE A.field_PK = B.field_PK (+)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sintak SQL right outer join Oracle 8i dan sebelumnya
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT A.field-1,...,A.field-n,
B.field-1,...,B.field-n,
FROM table-1 A,table-2 B
WHERE A.field_PK (+)= B.field_PK
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sintak SQL left outer join Oracle 9i dan sesudahnya
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT A.field-1,...,A.field-n,
B.field-1,...,B.field-n,
FROM table-1 A left outer join table-2 B
ON A.field_PK = B.field_PK
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sintak SQL right outer join Oracle 9i dan sesudahnya
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SELECT A.field-1,...,A.field-n,
B.field-1,...,B.field-n,
FROM table-1 A right outer join table-2 B
ON A.field_PK = B.field_PK
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
== 7.6.1 left outer join ==
SQL> -- LEFT=tabel barang;
SQL> select * from barang;
KODE_B NAMA_BARANG SATUAN_BARANG STOK_BARANG KETERANGAN
------ ------------------------- -------------------- ----------- ---------------
ELK-01 RICE COOKER BUAH 20
ELK-02 LEMARI ES UNIT 8
ELK-03 TELEVISI UNIT 30
ELK-04 RADIO/TAPE BUAH 35
SQL> -- RIGHT=tabel pasok;
SQL> select * from pasok;
KODE_PASOK KODE_B KODE_ TANGGAL_P JUMLAH_PASOK KETERANGAN
---------- ------ ----- --------- ------------ ---------------
PAS-E001 ELK-01 EJ-01 01-JAN-02 8
PAS-E002 ELK-01 EJ-02 01-JAN-02 5
PAS-E003 ELK-02 EJ-01 01-FEB-02 2
PAS-E004 ELK-02 EJ-02 02-FEB-02 3
PAS-E005 ELK-02 EB-02 01-JAN-02 2
PAS-E006 ELK-03 EJ-01 03-MAR-02 5
PAS-E007 ELK-03 EJ-01 04-MAR-02 2
PAS-E008 ELK-03 EJ-01 03-MAR-02 3
PAS-E009 ELK-03 EB-01 13-MAR-02 4
PAS-E010 ELK-03 EB-01 13-MAR-02 3
PAS-E011 ELK-04 EB-01 22-APR-02 12
PAS-E012 ELK-04 EB-02 30-APR-02 9
12 rows selected.
SQL>
SQL> select barang.KODE_BARANG as KD_BRG,barang.NAMA_BARANG,pasok.TANGGAL_PASOKas TGL_PASOK,pasok.JUMLAH_PASOK from barang,pasok where barang.KODE_BARANG=pasok.KODE_BARANG(+);
KD_BRG NAMA_BARANG TGL_PASOK JUMLAH_PASOK
------ ------------------------- --------- ------------
ELK-01 RICE COOKER 01-JAN-02 8
ELK-01 RICE COOKER 01-JAN-02 5
ELK-02 LEMARI ES 01-FEB-02 2
ELK-02 LEMARI ES 02-FEB-02 3
ELK-02 LEMARI ES 01-JAN-02 2
ELK-03 TELEVISI 03-MAR-02 5
ELK-03 TELEVISI 13-MAR-02 3
ELK-03 TELEVISI 04-MAR-02 2
ELK-03 TELEVISI 03-MAR-02 3
ELK-03 TELEVISI 13-MAR-02 4
ELK-04 RADIO/TAPE 22-APR-02 12
ELK-04 RADIO/TAPE 30-APR-02 9
12 rows selected.
SQL> select barang.KODE_BARANG as KD_BRG,barang.NAMA_BARANG,pasok.TANGGAL_PASOKas TGL_PASOK,pasok.JUMLAH_PASOK from barang left outer join pasok on barang.KODE_BARANG=pasok.KODE_BARANG;
KD_BRG NAMA_BARANG TGL_PASOK JUMLAH_PASOK
------ ------------------------- --------- ------------
ELK-01 RICE COOKER 01-JAN-02 8
ELK-01 RICE COOKER 01-JAN-02 5
ELK-02 LEMARI ES 01-FEB-02 2
ELK-02 LEMARI ES 02-FEB-02 3
ELK-02 LEMARI ES 01-JAN-02 2
ELK-03 TELEVISI 03-MAR-02 5
ELK-03 TELEVISI 13-MAR-02 3
ELK-03 TELEVISI 04-MAR-02 2
ELK-03 TELEVISI 03-MAR-02 3
ELK-03 TELEVISI 13-MAR-02 4
ELK-04 RADIO/TAPE 22-APR-02 12
ELK-04 RADIO/TAPE 30-APR-02 9
12 rows selected.
SQL>
SQL> select b.KODE_BARANG as KD_BRG,b.NAMA_BARANG,p.TANGGAL_PASOK as TGL_PASOK,p.JUMLAH_PASOK from barang b,pasok p where b.KODE_BARANG=p.KODE_BARANG(+);
KD_BRG NAMA_BARANG TGL_PASOK JUMLAH_PASOK
------ ------------------------- --------- ------------
ELK-01 RICE COOKER 01-JAN-02 8
ELK-01 RICE COOKER 01-JAN-02 5
ELK-02 LEMARI ES 01-FEB-02 2
ELK-02 LEMARI ES 02-FEB-02 3
ELK-02 LEMARI ES 01-JAN-02 2
ELK-03 TELEVISI 03-MAR-02 5
ELK-03 TELEVISI 13-MAR-02 3
ELK-03 TELEVISI 04-MAR-02 2
ELK-03 TELEVISI 03-MAR-02 3
ELK-03 TELEVISI 13-MAR-02 4
ELK-04 RADIO/TAPE 22-APR-02 12
ELK-04 RADIO/TAPE 30-APR-02 9
12 rows selected.
SQL>
SQL> select b.KODE_BARANG as KD_BRG,b.NAMA_BARANG,p.TANGGAL_PASOK as TGL_PASOK,p.JUMLAH_PASOK from barang b left outer join pasok p on b.KODE_BARANG=p.KODE_BARANG;
KD_BRG NAMA_BARANG TGL_PASOK JUMLAH_PASOK
------ ------------------------- --------- ------------
ELK-01 RICE COOKER 01-JAN-02 8
ELK-01 RICE COOKER 01-JAN-02 5
ELK-02 LEMARI ES 01-FEB-02 2
ELK-02 LEMARI ES 02-FEB-02 3
ELK-02 LEMARI ES 01-JAN-02 2
ELK-03 TELEVISI 03-MAR-02 5
ELK-03 TELEVISI 13-MAR-02 3
ELK-03 TELEVISI 04-MAR-02 2
ELK-03 TELEVISI 03-MAR-02 3
ELK-03 TELEVISI 13-MAR-02 4
ELK-04 RADIO/TAPE 22-APR-02 12
ELK-04 RADIO/TAPE 30-APR-02 9
12 rows selected.
SQL>
== 7.6.2 right outer join ==
SQL> -- LEFT=tabel pembelian
SQL> select * from pembelian;
KODE_PEMBE KODE_B KODE_C TANGGAL_P JUMLAH_PEMBELIAN KETERANGAN
---------- ------ ------ --------- ---------------- ---------------
BEL-E001 ELK-01 J-0001 20-MAY-02 3
BEL-E002 ELK-01 J-0001 21-MAY-02 4
BEL-E003 ELK-01 J-0002 20-MAY-02 2
BEL-E004 ELK-01 B-0001 20-MAY-02 2
BEL-E005 ELK-01 B-0002 22-MAY-02 3
BEL-E006 ELK-02 J-0001 24-JUN-02 1
BEL-E007 ELK-02 J-0002 24-JUN-02 1
BEL-E008 ELK-02 B-0001 25-JUN-02 2
BEL-E009 ELK-02 B-0002 25-JUN-02 2
BEL-E010 ELK-03 J-0001 20-JUN-02 5
BEL-E011 ELK-03 J-0002 02-JUL-02 4
BEL-E012 ELK-03 B-0001 04-JUL-02 6
BEL-E013 ELK-03 J-0001 10-JUL-02 5
BEL-E014 ELK-04 J-0002 15-JUL-02 12
BEL-E015 ELK-04 B-0002 17-JUL-02 15
15 rows selected.
SQL> -- RIGHT=tabel barang
SQL> select * from barang;
KODE_B NAMA_BARANG SATUAN_BARANG STOK_BARANG KETERANGAN
------ ------------------------- -------------------- ----------- ---------------
ELK-01 RICE COOKER BUAH 20
ELK-02 LEMARI ES UNIT 8
ELK-03 TELEVISI UNIT 30
ELK-04 RADIO/TAPE BUAH 35
SQL>
SQL> select pembelian.TANGGAL_PEMBELIAN as TGL_BELI,pembelian.JUMLAH_PEMBELIAN as JML_BELI,barang.KODE_BARANG as KD_BRG,barang.NAMA_BARANG from pembelian,barang where pembelian.KODE_BARANG(+)=barang.KODE_BARANG;
TGL_BELI JML_BELI KD_BRG NAMA_BARANG
--------- ---------- ------ -------------------------
21-MAY-02 4 ELK-01 RICE COOKER
20-MAY-02 3 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
22-MAY-02 3 ELK-01 RICE COOKER
24-JUN-02 1 ELK-02 LEMARI ES
24-JUN-02 1 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
20-JUN-02 5 ELK-03 TELEVISI
02-JUL-02 4 ELK-03 TELEVISI
04-JUL-02 6 ELK-03 TELEVISI
10-JUL-02 5 ELK-03 TELEVISI
15-JUL-02 12 ELK-04 RADIO/TAPE
17-JUL-02 15 ELK-04 RADIO/TAPE
15 rows selected.
SQL> select pembelian.TANGGAL_PEMBELIAN as TGL_BELI,pembelian.JUMLAH_PEMBELIAN as JML_BELI,barang.KODE_BARANG as KD_BRG,barang.NAMA_BARANG from pembelian right outer join barang on pembelian.KODE_BARANG(+)=barang.KODE_BARANG;
TGL_BELI JML_BELI KD_BRG NAMA_BARANG
--------- ---------- ------ -------------------------
21-MAY-02 4 ELK-01 RICE COOKER
20-MAY-02 3 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
22-MAY-02 3 ELK-01 RICE COOKER
24-JUN-02 1 ELK-02 LEMARI ES
24-JUN-02 1 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
20-JUN-02 5 ELK-03 TELEVISI
02-JUL-02 4 ELK-03 TELEVISI
04-JUL-02 6 ELK-03 TELEVISI
10-JUL-02 5 ELK-03 TELEVISI
15-JUL-02 12 ELK-04 RADIO/TAPE
17-JUL-02 15 ELK-04 RADIO/TAPE
15 rows selected.
SQL>
SQL> select pembelian.TANGGAL_PEMBELIAN as TGL_BELI,pembelian.JUMLAH_PEMBELIAN as JML_BELI,barang.KODE_BARANG as KD_BRG,barang.NAMA_BARANG from pembelian right outer join barang on pembelian.KODE_BARANG=barang.KODE_BARANG;
TGL_BELI JML_BELI KD_BRG NAMA_BARANG
--------- ---------- ------ -------------------------
21-MAY-02 4 ELK-01 RICE COOKER
20-MAY-02 3 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
22-MAY-02 3 ELK-01 RICE COOKER
24-JUN-02 1 ELK-02 LEMARI ES
24-JUN-02 1 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
20-JUN-02 5 ELK-03 TELEVISI
02-JUL-02 4 ELK-03 TELEVISI
04-JUL-02 6 ELK-03 TELEVISI
10-JUL-02 5 ELK-03 TELEVISI
15-JUL-02 12 ELK-04 RADIO/TAPE
17-JUL-02 15 ELK-04 RADIO/TAPE
15 rows selected.
SQL>
SQL> select pb.TANGGAL_PEMBELIAN as TGL_BELI,pb.JUMLAH_PEMBELIAN as JML_BELI,b.K
ODE_BARANG as KD_BRG,b.NAMA_BARANG from pembelian pb,barang b where pb.KODE_BARA
NG(+)=b.KODE_BARANG;
TGL_BELI JML_BELI KD_BRG NAMA_BARANG
--------- ---------- ------ -------------------------
21-MAY-02 4 ELK-01 RICE COOKER
20-MAY-02 3 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
22-MAY-02 3 ELK-01 RICE COOKER
24-JUN-02 1 ELK-02 LEMARI ES
24-JUN-02 1 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
20-JUN-02 5 ELK-03 TELEVISI
02-JUL-02 4 ELK-03 TELEVISI
TGL_BELI JML_BELI KD_BRG NAMA_BARANG
--------- ---------- ------ -------------------------
04-JUL-02 6 ELK-03 TELEVISI
10-JUL-02 5 ELK-03 TELEVISI
15-JUL-02 12 ELK-04 RADIO/TAPE
17-JUL-02 15 ELK-04 RADIO/TAPE
15 rows selected.
SQL> select pb.TANGGAL_PEMBELIAN as TGL_BELI,pb.JUMLAH_PEMBELIAN as JML_BELI,b.KODE_BARANG as KD_BRG,b.NAMA_BARANG from pembelian pb right outer join barang b on pb.KODE_BARANG=b.KODE_BARANG;
TGL_BELI JML_BELI KD_BRG NAMA_BARANG
--------- ---------- ------ -------------------------
21-MAY-02 4 ELK-01 RICE COOKER
20-MAY-02 3 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
20-MAY-02 2 ELK-01 RICE COOKER
22-MAY-02 3 ELK-01 RICE COOKER
24-JUN-02 1 ELK-02 LEMARI ES
24-JUN-02 1 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
25-JUN-02 2 ELK-02 LEMARI ES
20-JUN-02 5 ELK-03 TELEVISI
02-JUL-02 4 ELK-03 TELEVISI
04-JUL-02 6 ELK-03 TELEVISI
10-JUL-02 5 ELK-03 TELEVISI
15-JUL-02 12 ELK-04 RADIO/TAPE
17-JUL-02 15 ELK-04 RADIO/TAPE
15 rows selected.
SQL>
Referensi
- Menguasai Oracle, SQL & PL/SQL karya Imam Heryanto, Budi Raharjo, Penerbit Informatika Bandung
- blog http://fakta-dan-unik.blogspot.com
- http://fakta-dan-unik.blogspot.com/search/label/SQL
- http://teguhth.blogspot.com/search/label/SQL%20Expert
Subscribe to:
Post Comments (Atom)
Popular Posts
-
Sertifikasi profesional, kadang hanya disebut dengan sertifikasi atau kualifikasi saja, adalah suatu penetapan yang diberikan oleh ...
-
SQL atau Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini sec...
-
bagaimana cara mengubah hostid di Solaris The Hostid is a globally unique ID for a Sun Solaris Machine. Sometimes, you need to change t...
-
DNSPerf and ResPerf are free tools developed by Nominum that make it simple to gather accurate latency and throughput metrics for Domain ...
-
1. Check Host ID Solaris The Hostid is a globally unique ID for a Sun Solaris Machine. Sometimes, you need to change this hostid for ...
No comments:
Post a Comment