· 6 years ago · Oct 31, 2019, 07:34 AM
1DROP DATABASE IF EXISTS dbkompetisi;
2CREATE DATABASE dbkompetisi;
3USE dbkompetisi;
4
5CREATE TABLE tblanggota(
6 noanggota INT primary key,
7 namaanggota VARCHAR (100),
8 posisi INT
9);
10
11CREATE TABLE tbltim(
12 notim INT PRIMARY KEY,
13 namatim VARCHAR(50),
14 noanggota INT,
15 FOREIGN KEY (noanggota) REFERENCES tblanggota(noanggota)
16);
17
18CREATE TABLE tblhasil(
19 notim INT,
20 nourutlawan INT,
21 hasiltim INT,
22 hasillawan INT,
23 foreign key (notim) REFERENCES tbltim(notim)
24);
25
26INSERT INTO tblanggota VALUES
27('1','steven','0'),
28('2','beni','1'),
29('3','vania','1'),
30('4','roswari','0'),
31('5','vina','4'),
32('6','sandy','4'),
33('7','teddy','0'),
34('8','gianto','7'),
35('9','stefanus','0'),
36('10','gregorius','9'),
37('11','fanny','9'),
38('12','filipus','0'),
39('13','kevin','10'),
40('14','kristino','0'),
41('15','kristiana','14');
42
43INSERT INTO tbltim VALUES
44('1','Tim A','1'),
45('2','Tim B','4'),
46('3','Tim C','7'),
47('4','Tim D','9'),
48('5','Tim E','12'),
49('6','Tim F','14');
50
51INSERT INTO tblhasil VALUES
52('2','1','1','8'),
53('3','1','7','2'),
54('4','1','9','8'),
55('5','1','5','9'),
56('6','1','9','8'),
57('1','2','2','7'),
58('3','2','9','3'),
59('4','2','9','6'),
60('5','2','3','7'),
61('6','2','4','1'),
62('1','3','2','8'),
63('2','3','3','2'),
64('4','3','9','10'),
65('5','3','3','4'),
66('6','3','0','9'),
67('1','4','6','3'),
68('2','4','7','4'),
69('3','4','2','8'),
70('5','4','2','8'),
71('6','4','5','0'),
72('1','5','6','8'),
73('2','5','1','3'),
74('3','5','0','4'),
75('4','5','9','4'),
76('6','5','3','0'),
77('1','6','4','9'),
78('2','6','4','0'),
79('3','6','1','5'),
80('4','6','9','3'),
81('5','6','8','10');DROP DATABASE IF EXISTS dbkompetisi;
82CREATE DATABASE dbkompetisi;
83USE dbkompetisi;
84
85
86/* Nomor 1*/
87CREATE TABLE tblanggota
88(
89 noanggota INT PRIMARY KEY not NULL,
90 namaanggota VARCHAR(100),
91 posisi INT
92);
93
94CREATE TABLE tbltim
95(
96 notim INT PRIMARY KEY,
97 namatim VARCHAR(100),
98 noanggota INT,
99 FOREIGN KEY (noanggota) REFERENCES tblanggota(noanggota)
100);
101
102CREATE TABLE tblkompetisi
103(
104 notim INT,
105 hasiltim INT,
106 hasillawan INT,
107 nourutlawan INT,
108
109 FOREIGN KEY (notim) REFERENCES tbltim(notim)
110);
111
112/* Nomor 2*/
113
114INSERT INTO tblanggota VALUES
115('1','Steven','0'),
116('2','Beni','1'),
117('3','Vania','1 '),
118('4','Roswari','0 '),
119('5','Vina ',' 4 '),
120('6','Sandy ',' 4 '),
121('7','Teddy ',' 0 '),
122('8','Gianto ',' 7 '),
123('9','Stefanus ',' 0 '),
124('10','Gregorius ',' 9 '),
125('11','Fanny ',' 9 '),
126('12','Filipus ',' 0 '),
127('13','Kevin',' 12 '),
128('14','Kristino',' 0 '),
129('15','Kristiana',' 14 ');
130
131
132INSERT INTO tbltim VALUES
133('1','Tim A','1'),
134('2','Tim B','4'),
135('3','Tim C','7'),
136('4','Tim D','9'),
137('5','Tim E','12'),
138('6','Tim F','14');
139
140
141INSERT INTO tblkompetisi VALUES
142('2','1','1','8'),
143('3','1','7','2'),
144('4','1','9','8'),
145('5','1','5','9'),
146('6','1','9','8'),
147('1','2','2','7'),
148('3','2','9','3'),
149('4','2','9','6'),
150('5','2','3','7'),
151('6','2','4','1'),
152('1','3','2','8'),
153('2','3','3','2'),
154('4','3','9','10'),
155('5','3','3','4'),
156('6','3','0','9'),
157('1','4','6','3'),
158('2','4','7','4'),
159('3','4','2','8'),
160('5','4','2','8'),
161('6','4','5','0'),
162('1','5','6','8'),
163('2','5','1','3'),
164('3','5','0','4'),
165('4','5','9','4'),
166('6','5','3','0'),
167('1','6','4','9'),
168('2','6','4','0'),
169('3','6','1','5'),
170('4','6','9','3'),
171('5','6','8','10');
172
173
174/*Nomor 3*/
175 select k.namaanggota as Ketua,
176 (select a1.namaanggota from tblanggota a1 where k.noanggota = a1.posisi limit 1) as Anggota1,
177
178 (select a1.namaanggota from tblanggota a1 where k.noanggota = a1.posisi and a1.noanggota <>
179
180 (select a2.noanggota from tblanggota a2 where a2.posisi = k.noanggota limit 1) limit 1) as Anggota1
181
182 from tblanggota k where k.posisi = 0;
183
184/*nomor 4*/
185
186 select t1.namatim,
187 (select count(a1.namaanggota)+1 from tblanggota a1 where a1.posisi = k.noanggota limit 1) as Jumlah,
188
189 k.namaanggota as Ketua,
190
191 (select a1.namaanggota from tblanggota a1 where k.noanggota = a1.posisi limit 1) as Anggota1,
192
193 (select a1.namaanggota from tblanggota a1 where k.noanggota = a1.posisi and a1.noanggota !=
194
195 (select a2.noanggota from tblanggota a2 where a2.posisi = k.noanggota limit 1) limit 1) as Anggota1
196
197 from tbltim t1, tblanggota k where t1.noanggota = k.noanggota;
198
199
200/*
201select * from tblanggota;
202select * from tbltim;
203select * from tblkompetisi;
204
205DESC tblanggota;
206DESC tbltim;
207DESC tblkompetisi;*/
208
209SELECT * FROM tbltim;
210SELECT * FROM tblhasil;
211SELECT * FROM tblanggota;
212
213/*Nomor 3*/
214 select Ketua.namaanggota as Ketua,
215 (select Anggota1.namaanggota from tblanggota Anggota1 where Ketua.noanggota = Anggota1.posisi limit 1) as Anggota1,
216
217 (select Anggota1.namaanggota from tblanggota Anggota1 where Ketua.noanggota = Anggota1.posisi and Anggota1.noanggota <>
218
219 (select Anggota2.noanggota from tblanggota Anggota2 where Anggota2.posisi = Ketua.noanggota limit 1) limit 1) as Anggota1
220
221 from tblanggota Ketua where Ketua.posisi = 0;
222
223/*nomor 4*/
224
225 select t1.namatim,
226 (select count(a1.namaanggota)+1 from tblanggota a1 where a1.posisi = k.noanggota limit 1) as Jumlah,
227
228 k.namaanggota as Ketua,
229
230 (select a1.namaanggota from tblanggota a1 where k.noanggota = a1.posisi limit 1) as Anggota1,
231
232 (select a1.namaanggota from tblanggota a1 where k.noanggota = a1.posisi and a1.noanggota !=
233
234 (select a2.noanggota from tblanggota a2 where a2.posisi = k.noanggota limit 1) limit 1) as Anggota1
235
236 from tbltim t1, tblanggota k where t1.noanggota = k.noanggota;
237
238
239/*
240select * from tblanggota;
241select * from tbltim;
242select * from tblkompetisi;
243
244DESC tblanggota;
245DESC tbltim;
246DESC tblkompetisi;*/