Jawaban Soal SQL (Query Database) Tes Programmer PHP, JAVA, .NET


Postingan ini adalah jawaban dari soal SQL (Query) pada Soal Tes Programmer PHP, Java , .Net , dan sebelumnya pun sudah saya buatkan Jawaban dari soal Teori Tes Programmer PHP, Java, .Net , jadi silahkan diklik link nya untuk melihat postingan sebelumnya yang terkait dengan soal tes programmer ini.


Jawaban Soal SQL (Query Database) Tes Programmer PHP, JAVA, .NET


Berikut jawaban dari soal SQL (Query Database) Tes Programmer PHP, JAVA, .NET.

Gambar tabel dan juga isinya (data) seperti berikut :


70 Contoh Soal Tes Programmer PHP, JAVA, .NET



70 Contoh Soal Tes Programmer PHP, JAVA, .NET



70 Contoh Soal Tes Programmer PHP, JAVA, .NET







70 Contoh Soal Tes Programmer PHP, JAVA, .NET



70 Contoh Soal Tes Programmer PHP, JAVA, .NET



70 Contoh Soal Tes Programmer PHP, JAVA, .NET



70 Contoh Soal Tes Programmer PHP, JAVA, .NET



70 Contoh Soal Tes Programmer PHP, JAVA, .NET


Jadi silahkan untuk dibuat dulu tabel beserta isi dari tabelnya dan diberi nama tabel yang sama ya agar sinkron dengan jawaban dibawah, berikut soal dan jawaban SQL dibawah ini :

1. Menampilkan nama film dan nominasi dari nominasi yang paling besar

select nm_film, nominasi from film order by nominasi desc;

2. Menampilkan nama film dan nominasi yang paling banyak memperoleh nominasi

select nm_film, nominasi from film where nominasi=
(select max(nominasi) from film);

3. Menampilkan nama film dan nominasi yang tidak mendapatkan nominasi

select nm_film, nominasi from film where nominasi=0;

4. Menampilkan nama film dan pendapatan dari yang paling kecil

select nm_film, pendapatan from film order by pendapatan asc;

5. Menampilkan nama film dan pendapatan yang terbesar

select nm_film, pendapatan from film where pendapatan=
(select max(pendapatan) from film);

6. Menampilkan nama film dan pendapatan yang terkecil

select nm_film, pendapatan from film where pendapatan=
(select min(pendapatan) from film);

7. Menampilkan rata2 pendapatan film keseluruhan

select avg (pendapatan) from film;

-- pembulatan

select round(avg (pendapatan),0) from film;

8. Menampilkan rata2 nominasi film keseluruhan

select avg (nominasi) from film;

-- pembulatan

select round(avg (nominasi),0) from film;

9. Menampilkan nama film yang huruf depannya 'p'

select nm_film from film where nm_film like 'p%';

select nm_film from film where lower(nm_film) like lower('p%');

10. Menampilkan nama film yang huruf terakhir 'h'

select nm_film from film where nm_film like '%h';

select nm_film from film where lower(nm_film) like '%h';

11. Menampilkan nama film yang mengandung huruf 'd'

select nm_film from film where nm_film like '%d%';

12. Menampilkan nama film dengan pendapatan terbesar mengandung huruf 'o'

select nm_film, pendapatan from film where pendapatan=
(select max(pendapatan) from film) and nm_film like '%o%';

select nm_film, pendapatan from film where pendapatan=
(select max(pendapatan) from film) and lower (nm_film) like '%o%';

13. Menampilkan nama film dengan pendapatan terkecil mengandung huruf 'o'

select nm_film, pendapatan from film where pendapatan=
(select min(pendapatan) from film) and nm_film like '%o%';

select nm_film, pendapatan from film where pendapatan=
(select min(pendapatan) from film) and lower (nm_film) like '%o%';

14. Menampilkan nama film dan artis

select film.nm_film, artis.nm_artis from film 
left join artis on film.artis = artis.kd_artis;

15. Menampilkan nama film yang artisnya berasal dari negara hongkong

select film.nm_film from film 
left join artis on film.artis = artis.kd_artis 
left join negara on artis.negara = negara.kd_negara
where artis.negara='HK';

16. Menampilkan nama film yang artisnya bukan berasal dari negara yang tidak mengandung huruf 'o'

select film.nm_film from film 
left join artis on film.artis = artis.kd_artis 
left join negara on artis.negara = negara.kd_negara
where kd_negara not like '%o%';

17. Menampilkan nama film dan artis yang memiliki award terbanyak

select film.nm_film, artis.nm_artis from film
left join artis on film.artis = artis.kd_artis
where artis.award = (select max(award) from film 
left join artis on film.artis = artis.kd_artis);

18. Menampilkan nama film dengan artis bayaran terendah

select film.nm_film, artis.nm_artis, artis.bayaran from film 
left join artis on film.artis = artis.kd_artis
where artis.bayaran = (select min(bayaran)from film 
left join artis on film.artis = artis.kd_artis);

19. Menampilkan nama artis yang tidak pernah bermain film

select artis.nm_artis from film
right join artis on film.artis = artis.kd_artis
where film.nm_film isnull;

20. Menampilkan nama artis yang paling banyak bermain film

select * from
(select artis.nm_artis, count (artis.nm_artis) as "jumlah" from film
left join artis on film.artis = artis.kd_artis group by artis.nm_artis)
as qry1 where qry1.jumlah =
(
select max (qry2.jumlah) from
(select artis.nm_artis, count (artis.nm_artis) as "jumlah" from film
left join artis on film.artis = artis.kd_artis group by artis.nm_artis)
as qry2
)
;

21. Menampilkan nama artis yang bermain film dengan genre drama

select artis.nm_artis from film 
left join artis on film.artis = artis.kd_artis
left join genre on film.genre = genre.kd_genre
where genre.nm_genre = 'DRAMA';

22. Menampilkan nama artis yang bermain film dengan genre horror

select artis.nm_artis from film 
left join artis on film.artis = artis.kd_artis
left join genre on film.genre = genre.kd_genre
where genre.nm_genre = 'HORROR';

23. Menampilkan nama film yang dibintangi oleh artis yang huruf depannya 'j'

select film.nm_film from film
left join artis on film.artis = artis.kd_artis
where upper (artis.nm_artis) like upper ('j%');

24. Menampilkan negara mana yang paling banyak filmnya

select * from
(select negara.nm_negara, count (negara.nm_negara) as "jumlah" from film 
left join artis on film.artis = artis.kd_artis
left join negara on artis.negara = negara.kd_negara
group by negara.nm_negara)
as qry1 where qry1.jumlah =
(
select max(qry2.jumlah) from
(select negara.nm_negara, count (negara.nm_negara) as "jumlah" from film 
left join artis on film.artis = artis.kd_artis
left join negara on artis.negara = negara.kd_negara
group by negara.nm_negara)
as qry2
)
;

25. Menampilkan data negara dengan jumlah filmnya

select negara.nm_negara, count (negara.nm_negara) as "jumlah filmnya" from film 
left join artis on film.artis = artis.kd_artis
left join negara on artis.negara = negara.kd_negara
group by negara.nm_negara;

select negara.nm_negara, count(film.nm_film) as "jumlah film" from film
left join artis on film.artis = artis.kd_artis
right join negara on artis.negara = negara.kd_negara group by negara.nm_negara;

select negara.nm_negara, count (film.nm_film) as "jumlah filmnya" from negara
left join artis on negara.kd_negara = artis.negara
left join film on artis.kd_artis = film.artis
group by negara.nm_negara;

26. Menampilkan nama produser yang skala internasional

select nm_produser from produser
where international = 'YA';

27. Menampilkan berapa data produser yang skala internasional

select count(nm_produser) as "jumlah" from produser
where international = 'YA';

28. Menampilkan jumlah film dari masing2 produser

select produser.nm_produser, count(film.nm_film) as "jumlah film" from film
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser;

29. Menampilkan jumlah nominasi dari masing2 produser

select produser.nm_produser, sum(film.nominasi) as "jumlah nominasi" from film
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser;

30. Menampilkan jumlah pendapatan produser marvel secara keseluruhan

select produser.nm_produser, sum(film.pendapatan) as "jumlah" from film
left join produser on film.produser = produser.kd_produser
where produser.nm_produser = 'MARVEL'
group by produser.nm_produser;

31. Menampilkan jumlah pendapatan produser yang skalanya tidak international

select produser.nm_produser, sum(film.pendapatan) as "jumlah" from film
left join produser on film.produser = produser.kd_produser
where produser.international = 'TIDAK'
group by produser.nm_produser;

32. Menampilkan produser yang tidak punya film

select produser.nm_produser from film
left join produser on film.produser = produser.kd_produser
where produser.nm_produser isnull;

33. Menampilkan produser film yang memiliki artis termahal

select * from
(select produser.nm_produser, artis.nm_artis, max(bayaran) as jumlah from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis) 
as qry1 where qry1.jumlah =
(
select max (qry2.jumlah) from 
(select produser.nm_produser, artis.nm_artis, max(bayaran) as jumlah from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis) as qry2
);

34. Menampilkan produser yang memiliki banyak artis

select * from
(select produser.nm_produser, artis.nm_artis, count(artis) as jumlah from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis) 
as qry1 where qry1.jumlah =
(
select max (qry2.jumlah) from 
(select produser.nm_produser, artis.nm_artis, count(artis) as jumlah from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis) as qry2
);

-- coba buat view "dibawah ini"

create view listArtisTerbanyak as
select qry1.produser, count(qry1.jartis) as jartis from 
(
select produser.nm_produser as produser, artis.nm_artis as jartis from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis
) as qry1 group by qry1.produser having count(qry1.jartis) =
(
select max(qry3.jartis) from 
(
select count(qry2.jartis) as jartis from
(
select produser.nm_produser as produser, artis.nm_artis as jartis from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis
) as qry2 group by qry2
) as qry3
);

select * from listartisterbanyak;

35. Menampilkan produser yang memiliki sedikit artis

select * from
(select produser.nm_produser, count(artis.nm_artis) as jumlah from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis) 
as qry1 where qry1.jumlah =
(
select min (qry2.jumlah) from 
(select produser.nm_produser, artis.nm_artis, count(artis.nm_artis) as jumlah from film
left join artis on film.artis = artis.kd_artis
left join produser on film.produser = produser.kd_produser
group by produser.nm_produser, artis.nm_artis) as qry2
);


Sekian postingan mengenai jawaban dari soal SQL (Query Database) dari soal tes programmer yang sudah diposting sebelumnya, jawaban diatas juga sekalian membuat kita kembali mengingat masa-masa awal belajar SQL atau database, baik itu query select, select where, where like, join dan lainnya.

Berikan komentar jika ada yang ingin ditanyakan atau ingin memberikan query SQL yang berbeda dari jawaban diatas tapi memberikan hasil yang benar sesuai pertanyaan.

Semangat coding.

Belum ada Komentar untuk "Jawaban Soal SQL (Query Database) Tes Programmer PHP, JAVA, .NET"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel