Advertisement
redo21

Mahasiswa.sql

May 25th, 2022
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.58 KB | None | 0 0
  1. CREATE SCHEMA MAHASISWA;
  2.  
  3. CREATE TABLE PROGRAM_STUDI(
  4.     ID_PROGRAM_STUDI INT NOT NULL PRIMARY KEY,
  5.     PROGRAM_STUDI VARCHAR(30)
  6. );
  7.  
  8. CREATE TABLE SELEKSI(
  9.     ID_SELEKSI INT NOT NULL PRIMARY KEY,
  10.     SELEKSI VARCHAR(7)
  11. );
  12.  
  13. CREATE TABLE MATA_KULIAH(
  14.   ID_MATA_KULIAH INT NOT NULL PRIMARY KEY,
  15.   MATA_KULIAH VARCHAR(20)
  16. );
  17.  
  18. CREATE TABLE MAHASISWA.MAHASISWA(
  19.     NIM INT NOT NULL PRIMARY KEY ,
  20.     SELEKSI_ID_SELEKSI INT,
  21.     PROGRAM_STUDI_ID_PROGRAM_STUDI INT,
  22.     NAMA VARCHAR(40),
  23.     FOREIGN KEY (SELEKSI_ID_SELEKSI) REFERENCES SELEKSI(ID_SELEKSI),
  24.     FOREIGN KEY (PROGRAM_STUDI_ID_PROGRAM_STUDI) REFERENCES PROGRAM_STUDI(ID_PROGRAM_STUDI)
  25. );
  26.  
  27. CREATE TABLE MAHASISWA.MAHASISWA_MENGAMBIL_MK(
  28.   MATAKULIAH_ID_MATAKULIAH INT,
  29.   MAHASISWA_NIM INT,
  30.   NILAI INT,
  31.   FOREIGN KEY (MATAKULIAH_ID_MATAKULIAH) REFERENCES MATA_KULIAH(ID_MATA_KULIAH),
  32.   FOREIGN KEY (MAHASISWA_NIM) REFERENCES MAHASISWA.MAHASISWA(NIM)
  33. );
  34.  
  35. INSERT INTO SELEKSI(ID_SELEKSI, SELEKSI)
  36. VALUES (1, 'SNMPTN'),
  37.        (2, 'SBMPTN');
  38.  
  39. SELECT * FROM SELEKSI;
  40.  
  41. DROP TABLE SELEKSI;
  42.  
  43. INSERT INTO PROGRAM_STUDI(ID_PROGRAM_STUDI, PROGRAM_STUDI)
  44. VALUES (1, 'Sistem Informasi'),
  45.        (2, 'Pendidikan Teknologi Informasi');
  46.  
  47. INSERT INTO MATA_KULIAH(ID_MATA_KULIAH, MATA_KULIAH)
  48. VALUES (50612, 'Dasar Basis Data'),
  49.        (50613, 'Jaringan Komputer');
  50.  
  51. INSERT INTO MAHASISWA.MAHASISWA(NIM, NAMA, PROGRAM_STUDI_ID_PROGRAM_STUDI, SELEKSI_ID_SELEKSI)
  52. VALUES (211, 'Dio', 1, 2),
  53.        (122, 'Bagus', 2, 1),
  54.        (212, 'Dea', 1, 2),
  55.        (121, 'Bambang', 2, 1),
  56.        (111, 'Budi', 1, 1);
  57.  
  58. INSERT INTO MAHASISWA.MAHASISWA_MENGAMBIL_MK(MAHASISWA_NIM, MATAKULIAH_ID_MATAKULIAH, NILAI)
  59. VALUES (211, 50612, 95),
  60.        (122, 50612, 81),
  61.        (212, 50612, 87),
  62.        (121, 50612, 89),
  63.        (111, 50612, 93),
  64.        (211, 50613, 86),
  65.        (122, 50613, 92),
  66.        (212, 50613, 89),
  67.        (121, 50613, 82),
  68.        (111, 50613, 84);
  69.  
  70. -- Tampilkan NIM dan Nama mahasiswa yang masuk melalui jalur snmptn (3 cara)
  71. -- cara 1
  72. SELECT NIM, NAMA FROM MAHASISWA.MAHASISWA
  73.     WHERE SELEKSI_ID_SELEKSI = 1;
  74.  
  75. -- cara 2
  76. SELECT NIM, NAMA FROM MAHASISWA.MAHASISWA
  77.     INNER JOIN SELEKSI
  78.         ON MAHASISWA.MAHASISWA.SELEKSI_ID_SELEKSI = SELEKSI.ID_SELEKSI
  79. AND SELEKSI.SELEKSI = 'SNMPTN';
  80.  
  81. -- cara 3
  82. SELECT NIM, NAMA FROM MAHASISWA.MAHASISWA, SELEKSI
  83. WHERE MAHASISWA.MAHASISWA.SELEKSI_ID_SELEKSI = SELEKSI.ID_SELEKSI
  84. AND SELEKSI.SELEKSI = 'SNMPTN';
  85.  
  86. -- Tampilkan data nim, nama, program studi, seleksi, mata kuliah, nilai mahasiswa
  87. SELECT NIM, NAMA, PROGRAM_STUDI, SELEKSI, MATA_KULIAH, NILAI FROM MAHASISWA.MAHASISWA
  88. INNER JOIN PROGRAM_STUDI
  89. ON MAHASISWA.MAHASISWA.PROGRAM_STUDI_ID_PROGRAM_STUDI = PROGRAM_STUDI.ID_PROGRAM_STUDI
  90. INNER JOIN SELEKSI
  91. ON MAHASISWA.MAHASISWA.SELEKSI_ID_SELEKSI = SELEKSI.ID_SELEKSI
  92. INNER JOIN MAHASISWA.MAHASISWA_MENGAMBIL_MK
  93. ON MAHASISWA.MAHASISWA.NIM = MAHASISWA.MAHASISWA_MENGAMBIL_MK.MAHASISWA_NIM
  94. INNER JOIN MATA_KULIAH
  95. ON MAHASISWA.MAHASISWA_MENGAMBIL_MK.MATAKULIAH_ID_MATAKULIAH = MATA_KULIAH.ID_MATA_KULIAH;
  96.  
  97. -- Tampilkan data nim, nama, nilai dari mahasiswa yang memiliki nilai tertinggi dalam
  98. -- matakuliah dasar basis data
  99.  
  100. SELECT NIM, NAMA, NILAI FROM MAHASISWA.MAHASISWA
  101. INNER JOIN MAHASISWA.MAHASISWA_MENGAMBIL_MK
  102. ON MAHASISWA.MAHASISWA.NIM = MAHASISWA.MAHASISWA_MENGAMBIL_MK.MAHASISWA_NIM
  103.         AND MAHASISWA.MAHASISWA_MENGAMBIL_MK.NILAI = (SELECT MAX(NILAI) FROM MAHASISWA.MAHASISWA_MENGAMBIL_MK)
  104. INNER JOIN MATA_KULIAH
  105. ON MAHASISWA.MAHASISWA_MENGAMBIL_MK.MATAKULIAH_ID_MATAKULIAH = MATA_KULIAH.ID_MATA_KULIAH
  106.         AND MATA_KULIAH.MATA_KULIAH = 'Dasar Basis Data'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement