Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

create database tugas3;

use tugas3

CREATE TABLE Course (


CID CHAR(5) DEFAULT '' NOT NULL,
Course CHAR(10) DEFAULT '' NOT NULL,
Grade DECIMAL(3,2) DEFAULT '0.00' NOT NULL,
PRIMARY KEY(CID));

INSERT INTO Course VALUES


('C001','Apps',3.45),('C002','Android',3.99),('C003','Andromeda',3.6),
('C004','BlackHole',3.65),
('C005','Megalodon',3.69);

CREATE TABLE Student (


SID CHAR(5) DEFAULT '' NOT NULL,
Nama CHAR(15) DEFAULT '' NOT NULL,
Phone INT UNSIGNED DEFAULT '000000000000' NOT NULL,
PRIMARY KEY(SID));

INSERT INTO Student VALUES


('S001','Richie',088851981),('S002','Angga',085125800),
('S003','Cahdi',098512000),('S004','Diaz',081258700),
('S005','Jemy',012482410);

CREATE TABLE Enroll (


EID CHAR(5) DEFAULT '' NOT NULL,
SID CHAR(5) DEFAULT '' NOT NULL,
CID CHAR(5) DEFAULT '' NOT NULL,
PRIMARY KEY(EID),
FOREIGN KEY (SID) REFERENCES Student(SID),
FOREIGN KEY (CID) REFERENCES Course (CID)
);

INSERT INTO Enroll VALUES


('E001','S001','C004'),('E002','S002','C002'),('E003','S003','C001'),
('E004','S004','C005');

SELECT
e.EID,
e.SID,
s.Nama,
s.Phone
FROM
Student s
LEFT JOIN Enroll e USING(SID);

SELECT
e.EID,
e.SID,
s.Nama,
s.Phone
FROM
Student s
LEFT JOIN Enroll e USING(SID)
WHERE e.SID IS NULL;

SELECT
e.EID,
e.SID,
s.Nama,
s.Phone
FROM
Student s
INNER JOIN Enroll e USING(SID);

SELECT
e.EID,
e.SID, #Hasil akan seperti Inner join karena tabel Enroll tidak bisa
membuat data SID sendiri (efek dari foreign key)
s.Nama,
s.Phone
FROM
Student s
RIGHT JOIN Enroll e USING(SID);

SELECT
e.EID,
e.SID,
s.Nama, #Hasil akan tidak ada karena tidak ada data SID di tabel Enroll
yang tidak ada di tabel Student
s.Phone
FROM
Student s
RIGHT JOIN Enroll e USING(SID)
WHERE e.SID IS NULL;

SELECT
e.EID,
e.SID, #Hasil akan seperti Inner join karena tabel Enroll tidak
bisa membuat data CID sendiri (efek dari foreign key)
e.CID,
c.Course,
c.Grade
FROM
Enroll e
LEFT JOIN Course c USING(CID);

SELECT
e.EID,
e.SID, #Hasil akan tidak ada karena tidak ada data CID di
tabel Enroll yang tidak ada di tabel Course
e.CID,
c.Course,
c.Grade
FROM
Enroll e
LEFT JOIN Course c USING(CID)
WHERE e.CID IS NULL;

SELECT
e.EID,
e.SID,
e.CID,
c.Course,
c.Grade
FROM
Enroll e
INNER JOIN Course c USING(CID);

SELECT
e.EID,
e.SID,
e.CID,
c.Course,
c.Grade
FROM
Enroll e
RIGHT JOIN Course c USING(CID);

SELECT
e.EID,
e.SID,
e.CID,
c.Course,
c.Grade
FROM
Enroll e
RIGHT JOIN Course c USING(CID)
WHERE e.CID IS NULL;

SELECT
e.EID,
s.Nama,
s.Phone,
c.Course,
c.Grade
FROM
Student s
JOIN Enroll e ON s.SID=e.SID
JOIN Course c ON c.CID=e.CID;

CREATE TABLE Lecturer (


CID CHAR(5) DEFAULT '' NOT NULL,
LID CHAR(5) DEFAULT '' NOT NULL,
Dosen CHAR(15) DEFAULT '' NOT NULL,
PRIMARY KEY(LID),
FOREIGN KEY (CID) REFERENCES Course (CID)
);

INSERT INTO Lecturer VALUES


('C001','L001','Pak Sofyan'),('C002','L002','Bu Marissa'),('C003','L003','Pak
Ivan'),('C004','L004','Pak Besar'),
('C005','L005','Pak Tanra');

select * from Lecturer ORDER BY LID

SELECT
e.EID,
s.Nama,
s.Phone,
c.Course,
c.Grade,
l.Dosen,
l.LID
FROM
Student s
JOIN Enroll e ON s.SID=e.SID
JOIN Course c ON c.CID=e.CID
JOIN Lecturer l ON l.CID=c.CID;

You might also like