Pertanyaan wawancara tentang SQL didasarkan pada dua tabel berikut, Tabel Karyawan dan Karyawan
Tabel Insentif.
Karyawan
ID_KARYAWAN
D E E Y E T
01-JAN-13
1 John Abraham 1.000.000 Perbankan
12.00.00 AM
01-JAN-13
2 Micheal Clarke 800000 Asuransi
12.00.00 AM
01-FEB-13
3 Roy Thomas 700000 Perbankan
12:00:00 AM
01-FEB-13
4 Tom Jose 600000 Asuransi
12.00.00 AM
01-FEB-13
5 Jerry Pinto 650000 Asuransi
12.00.00 AM
01-JAN-13
6 Philip Mathew 750000 Layanan
12.00.00 AM
01-JAN-13
7 TestName1 123 650000 Layanan
12.00.00 AM
01-FEB-13
8 NamaUji2 Lname% 600000 Asuransi
12.00.00 AM
Insentif
ID_REF_KARYAWAN
1 01-FEB-13 5000
2 01-FEB-13 3000
3 01-FEB-13 4000
1 01-JAN-13 4500
2 01-JAN-13 3500
Pertanyaan dan Jawaban Wawancara SQL Query tentang "SQL"
Pilih" - Contoh
1. Dapatkan semua detail karyawan dari tabel karyawan
Pilih * dari karyawan
2. Dapatkan First_Name, Last_Name dari tabel karyawan
Pilih nama_depan, nama_Belakang dari karyawan
[Link] First_Name dari tabel karyawan menggunakan nama alias "Nama Karyawan"
Pilih first_name Nama Karyawan dari karyawan
[Link] First_Name dari tabel karyawan dalam huruf kapital
Pilih upper(NAMA_DEPAN) dari KARYAWAN
[Link] First_Name dari tabel karyawan dalam huruf kecil
Pilih lower(NAMA_DEPAN) dari KARYAWAN
[Link] DEPARTEMEN unik dari tabel karyawan
pilih yang berbeda DEPARTEMEN dari KARYAWAN
[Link] 3 karakter pertama dari FIRST_NAME dari KARYAWAN
Ekuivalen Oracle dari SUBSTRING SQL Server adalah SUBSTR,
pilih substr(NAMA_DEPAN,0,3) dari karyawan
Setara SQL Server dari Oracle SUBSTR adalah SUBSTRING,
pilih substring(NAMA_DEPAN,0,3) dari karyawan
Ekivalen MySQL Server dari Oracle SUBSTR adalah SUBSTRING. Di MySQL mulai
posisi adalah 1,
pilih substring(NAMA_DEPAN,1,3) dari karyawan
[Link] posisi 'o' dalam nama 'John' dari tabel karyawan
Setara Oracle dari CHARINDEX SQL Server adalah INSTR,
Pilih instr(NAMA_DEPAN,'o') dari karyawan dimana nama_depan='John'
Setara SQL Server dari Oracle INSTR adalah CHARINDEX
Kueri: Pilih CHARINDEX('o',NAMA_DEPAN,0) dari karyawan di mana
John
Setara MySQL Server dari Oracle INSTR adalah LOCATE,
Kueri: Pilih LOCATE('o',NAMA_DEPAN) dari karyawan di mana nama_depan='John'
[Link] FIRST_NAME dari tabel karyawan setelah menghapus spasi kosong di sisi kanan
pilih RTRIM(NAMA_DEPAN) dari karyawan
[Link] FIRST_NAME dari tabel karyawan setelah menghapus spasi dari sisi kiri
pilih LTRIM(NAMA_DEPAN) dari karyawan
[Link] panjang FIRST_NAME dari tabel karyawan
Oracle, MYSQL setara dengan SQL Server Len adalah Length
Query: pilih panjang(FIRST_NAME) dari karyawan
Setara SQL Server dari Oracle, MYSQL Length adalah Len
select len(NAMA_DEPAN) from karyawan
[Link] First_Name dari tabel karyawan setelah mengganti 'o' dengan '$'
pilih GANTI(NAMA_DEPAN,'o','$') dari karyawan
[Link] First_Name dan Last_Name sebagai kolom tunggal dari tabel karyawan yang dipisahkan oleh sebuah
_
Setara Oracle dari MySQL concat adalah '||'
Pilih FIRST_NAME|| '_' ||LAST_NAME dari EMPLOYEE
Setara SQL Server dari MySQL concat adalah '+'
Pilih FIRST_NAME + '_' + LAST_NAME dari KARYAWAN
Setara MySQL dari Oracle '||' adalah concat,
Pilih gabungkan(NAMA_DEPAN,'_',NAMA_BELAKANG) dari KARYAWAN
[Link] NAMA_DEPAN, Tahun Bergabung, Bulan Bergabung, dan Tanggal Bergabung dari tabel karyawan
Kueri SQL di Oracle
Pilih FIRST_NAME, to_char(tanggal_masuk,'YYYY') TahunBergabung ,
to_char(tanggal_masuk, 'Mon'), to_char(tanggal_masuk, 'dd') dari KARYAWAN
Kueri SQL di SQL Server,
pilih SUBSTRING (konversi(varchar,tanggal_joining,103),7,4) , SUBSTRING
(konversi(varchar,tanggal_join,100),1,3), SUBSTRING
(konversi(varchar,tanggal_joining,100),5,2) dari KARYAWAN
Kueri SQL di MySQL,
pilih tahun(tanggal_masuk), bulan(tanggal_masuk), HARI(tanggal_masuk) dari
KARYAWAN
15. Ambil semua rincian karyawan dari tabel karyawan urutkan berdasarkan Nama_Depan Menaik
Pilih * dari karyawan urutkan berdasarkan NAMA_DEPAN asc
16. Dapatkan semua detail karyawan dari tabel karyawan urutkan berdasarkan First_Name secara menurun
Pilih * dari karyawan urutkan berdasarkan NAMA_DEPAN desc
17. Ambil semua detail karyawan dari tabel karyawan urut berdasarkan Nama_Depan Ascending dan
Gaji menurun
Pilih * dari karyawan urutkan berdasarkan NAMA_DEPAN asc,GAJI desc
Pertanyaan dan Jawaban Wawancara Kueri SQL tentang "SQL"
Kondisi Where" - Contoh
18. Ambil detail karyawan dari tabel karyawan yang bernama "John"
Pilih * dari KARYAWAN di mana NAMA_DEPAN='John'
19. Ambil detail karyawan dari tabel karyawan yang bernama "John" dan "Roy"
Pilih * dari KARYAWAN di mana NAMA_DEPAN dalam ('John','Roy')
20. Ambil detail karyawan dari tabel karyawan yang nama karyawannya bukan 'John' dan
Roy
Pilih * dari KARYAWAN di mana NAMA_DEPAN tidak dalam ('John','Roy')
Pertanyaan dan Jawaban Wawancara tentang Kuery SQL
Pencarian Kartu Liar" - Contoh
21. Ambil detail karyawan dari tabel karyawan yang namadepannya dimulai dengan 'J'
Pilih * dari KARYAWAN di mana NAMA_DEPAN seperti 'J%'
22. Ambil detail karyawan dari tabel karyawan yang nama depannya mengandung 'o'
Pilih * dari KARYAWAN di mana NAMA_DIMULAI seperti '%o%'
23. Dapatkan detail karyawan dari tabel karyawan yang nama depannya diakhiri dengan 'n'
Pilih * dari KARYAWAN dimana NAMA_DEPAN seperti '%n'
Pertanyaan dan Jawaban Wawancara mengenai Kuery SQL
Pencocokan Pola" - Contoh
24. Dapatkan detail karyawan dari tabel karyawan yang nama depannya diakhiri dengan 'n' dan nama
mengandung 4 huruf
Pilih * dari KARYAWAN di mana NAMA_DEPAN seperti '___n' (Garis bawah)
25. Ambil detail karyawan dari tabel karyawan yang nama depannya dimulai dengan 'J' dan nama
terdiri dari 4 huruf
Pilih * dari KARYAWAN di mana NAMA_DEPAN seperti 'J___' (Garis bawah)
26. Ambil rincian karyawan dari tabel karyawan yang gajinya lebih dari 600000
Pilih * dari KARYAWAN di mana Gaji >600000
27. Dapatkan rincian karyawan dari tabel karyawan yang gajinya kurang dari 800000
Pilih * dari KARYAWAN dimana Gaji <800000
28. Ambil detail karyawan dari tabel karyawan yang memiliki Gaji antara 500000 dan 800000
Pilih * dari KARYAWAN di mana Gaji antara 500000 dan 800000
29. Dapatkan rincian karyawan dari tabel karyawan yang bernama 'John' dan 'Michael'
Pilih * dari KARYAWAN di mana NAMA_DEPAN dalam ('John','Michael')
Pertanyaan dan Jawaban Wawancara Query SQL tentang "SQL"
Fungsi TANGGAL - Contoh
30. Dapatkan detail karyawan dari tabel karyawan yang tahun bergabungnya adalah "2013"
Kueri SQL di Oracle
Pilih * dari KARYAWAN di mana to_char(tanggal_masuk,'YYYY')='2013'
Kueri SQL di SQL Server,
Pilih * dari KARYAWAN di mana SUBSTRING(convert(varchar,tanggal_masuk,103),7,4)='2013'
Kueri SQL di MySQL
Pilih * dari KARYAWAN di mana tahun(tanggal_masuk)='2013'
31. Ambil detail karyawan dari tabel karyawan yang bulan bergabungnya adalah "Januari"
Kueri SQL di Oracle,
Pilih * dari KARYAWAN di mana to_char(tanggal_masuk,'MM')='01' atau Pilih * dari
KARYAWAN di mana to_char(joining_date,'Mon')='Jan' Kuery SQL di SQL Server,
Pilih * dari KARYAWAN di mana
SUBSTRING(convert(varchar,joining_date,100),1,3)='Jan' Kuery SQL di MySQL
Pilih * dari KARYAWAN di mana bulan(tanggal_masuk)='01'
32. Ambil detail karyawan dari tabel karyawan yang bergabung sebelum 1 Januari 2013
Kueri SQL di Oracle,
Pilih * dari KARYAWAN di mana TANGGAL_GABUNG <to_date('01/01/2013','dd/mm/yyyy')
Kueri SQL di SQL Server (Format - "DD/Bulan/Tahun")
Pilih * dari KARYAWAN di mana tanggal_masuk < '01/01/2013'
Kueri SQL di MySQL (Format -"YYYY-DD-MM")
Pilih * dari KARYAWAN di mana tanggal_masuk < '2013-01-01'
33. Dapatkan detail karyawan dari tabel karyawan yang bergabung setelah 31 Januari
Kueri SQL di Oracle
Pilih * dari KARYAWAN di mana TANGGAL_MASUK > to_date('31/01/2013','dd/mm/yyyy')
Kueri SQL di SQL Server dan MySQL (Format - "MM/DD/YYYY")
Pilih * dari KARYAWAN di mana tanggal_masuk > '31/01/2013'
Kueri SQL di MySQL (Format -"YYYY-DD-MM")
Pilih * dari KARYAWAN di mana tanggal_masuk > '2013-01-31'
35. Dapatkan Tanggal dan Waktu Bergabung dari tabel karyawan
Kueri SQL di Oracle
pilih to_char(TANGGAL_GABUNG,'dd/mm/yyyy hh:mi:ss') dari KARYAWAN
Kueri SQL di SQL Server,
Pilih konversi(varchar(19),tanggal_masuk,121) dari KARYAWAN
Kueri SQL di MySQL,
Pilih CONVERT(DATE_FORMAT(tanggal_bergabung,'%Y-%m-%d-%H:%i:00'),DATETIME) dari
PEGAWAI
36. Dapatkan Tanggal Bergabung, Waktu termasuk milidetik dari tabel karyawan
Kueri SQL di Oracle
pilih to_char(TANGGAL_GABUNG,'dd/mm/yyyy HH:mi:[Link]') dari KARYAWAN. Kolom
Tipe Data harus berupa “TimeStamp”
Kueri SQL di SQL Server
pilih konversi(varchar,tanggal_masuk,121) dari KARYAWAN
Kueri SQL di MySQL,
Pilih MICROSECOND(tanggal_bergabung) dari KARYAWAN
37. Ambil selisih antara TANGGAL_MASUK dan TANGGAL_INSENTIF dari karyawan dan
tabel insentif
Pilih NAMA_DEPAN, TANGGAL_INSENTIF - TANGGAL_MASUK dari karyawan a bergabung dengan
insentif B pada A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
38. Dapatkan tanggal basis data
Kueri SQL di Oracle,
pilih sysdate dari dual
Kueri SQL di SQL Server,
pilih getdate()
Kueri SQL di MySQL,
pilih sekarang()
39. Dapatkan nama karyawan dari tabel karyawan yang memiliki '%' di Last_Name. Tip: Escape
karakter untuk karakter khusus dalam kueri.
SQLQueries di Oracle,
Pilih FIRST_NAME dari karyawan di mana Last_Name mirip '%?%%'
Kueri SQL di SQL Server,
Pilih NAMA_DEPAN dari karyawan di mana NAMA_BELAKANG mirip '%[%]%'
SQLQueries di MySQL,
Pilih FIRST_NAME dari karyawan di mana Last_Name seperti '%\%%'
40. Ambil Nama Belakang dari tabel karyawan setelah mengganti karakter khusus dengan spasi
Kueri SQL di Oracle,
Pilih terjemahkan(NAMA_BELAKANG,'%',' ') dari karyawan
Kueri SQL di SQL Server dan MySQL,
Pilih REPLACE(NAMA_BELAKANG,'%',' ') dari karyawan
Pertanyaan dan Jawaban Wawancara SQL Queries tentang "SQL"
Fungsi Grup Berdasarkan - Contoh
41. Dapatkan departemen, total gaji berdasarkan departemen dari tabel karyawan.
Pilih DEPARTEMEN, jumlah(GAJI) Total_Gaji dari karyawan kelompok berdasarkan departemen
42. Dapatkan departemen, total gaji berdasarkan departemen dari tabel karyawan urutkan berdasarkan
total gaji menurun
Pilih DEPARTEMEN, jumlah(GAJI) Total_Gaji dari karyawan kelompok berdasarkan DEPARTEMEN
urutkan berdasarkan Total_Gaji menurun
Pertanyaan dan Jawaban Wawancara tentang Kuery SQL
Operasi Matematika menggunakan Group By" - Contoh
43. Dapatkan departemen, jumlah karyawan di departemen, total gaji terkait dengan a
departemen dari tabel karyawan urutkan berdasarkan total gaji menurun
Pilih DEPARTEMEN, hitung(NAMA_DEPAN), jumlah(GAJI) Total_Gaji dari karyawan
kelompokkan berdasarkan DEPARTEMEN urutkan berdasarkan Total_Gaji menurun
44. Dapatkan rata-rata gaji berdasarkan departemen dari tabel karyawan urutkan berdasarkan gaji menaik
pilih DEPARTEMEN, rata-rata(GAJI) AvgSalary dari karyawan kelompok berdasarkan DEPARTEMEN
urutkan berdasarkan AvgSalary naik
45. Dapatkan gaji maksimum per departemen dari tabel karyawan urutkan berdasarkan gaji ascending
pilih DEPARTEMEN, maksimum(GAJI) MaxSalary dari karyawan grup berdasarkan DEPARTEMEN
urutkan berdasarkan MaxSalary asc
46. Dapatkan gaji minimum berdasarkan departemen dari tabel karyawan urutkan berdasarkan gaji secara ascending
pilih DEPARTEMEN,min(GAJI) GajiMinimal dari karyawan kelompok berdasarkan DEPARTEMEN
urutkan berdasarkan MinSalary asc
47. Pilih jumlah karyawan yang bergabung berdasarkan tahun dan bulan dari tabel karyawan
Kueri SQL di Oracle,
pilih to_char (TANGGAL_MASUK,'YYYY') Tahun_Masuk,to_char (TANGGAL_MASUK,'MM')
Gabung_Bulan, hitung(*) Total_Karyawan dari karyawan grup berdasarkan to_char
(TANGGAL_GABUNG,'YYYY'),to_char(TANGGAL_GABUNG,'MM')
Kueri SQL di SQL Server
pilih bagian tanggal (YYYY, TANGGAL_MASUK) Tahun_Masuk, bagian tanggal (MM, TANGGAL_MASUK)
Gabung_Bulan, hitung(*) Total_Karyawan dari karyawan kelompok berdasarkan
datepart(YYYY,TANGGAL_GABUNG), datepart(MM,TANGGAL_GABUNG)
Kueri SQL di MySQL,
pilih tahun (TANGGAL_MASUK) Tahun_Masuk, bulan (TANGGAL_MASUK) Bulan_Masuk, hitung(*)
Total_Emp dari karyawan dikelompokkan per tahun (TANGGAL_GABUNG), bulan (TANGGAL_GABUNG)
48. Pilih departemen, total gaji terkait dengan departemen dari tabel karyawan di mana
gaji total lebih dari 800000 urutkan berdasarkan Gaji_Total menurun
Pilih DEPARTEMEN, jumlah(SALARY) Total_Salary dari karyawan kelompok berdasarkan DEPARTEMEN
memiliki sum(SALARY) >800000 urutkan berdasarkan Total_Salary desc
49. Pilih nama_depan, jumlah insentif dari tabel karyawan dan insentif untuk mereka yang
karyawan yang memiliki insentif
Pilih FIRST_NAME, INCENTIVE_AMOUNT dari karyawan a bergabung dalam insentif B pada
A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
50. Pilih first_name, jumlah insentif dari tabel karyawan dan insentif untuk mereka yang
karyawan yang memiliki insentif dan jumlah insentif lebih dari 3000
Pilih FIRST_NAME, INCENTIVE_AMOUNT dari karyawan a bergabung dalam insentif B pada
A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID dan INCENTIVE_AMOUNT >3000
51. Pilih first_name, jumlah insentif dari tabel karyawan dan insentif untuk semua
karyawan meskipun mereka tidak mendapatkan insentif
Pilih FIRST_NAME,INCENTIVE_AMOUNT dari karyawan a bergabung kiri dengan insentif B pada
A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
52. Pilih first_name, jumlah insentif dari tabel karyawan dan insentif untuk semua
karyawan meskipun mereka tidak mendapatkan insentif dan mengatur jumlah insentif sebagai 0 untuk mereka
karyawan yang tidak mendapatkan insentif.
Kueri SQL di Oracle, Pilih FIRST_NAME, nvl(INCENTIVE_AMOUNT,0) dari
karyawan a left join insentif B on A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
Kueri SQL di SQL Server,
Pilih FIRST_NAME, ISNULL(INCENTIVE_AMOUNT,0) dari karyawan a bergabung kiri
insentif B pada A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
Kueri SQL di MySQL,
Pilih FIRST_NAME, IFNULL(INCENTIVE_AMOUNT,0) dari karyawan a left join
insentif B pada A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
53. Pilih first_name, jumlah insentif dari tabel karyawan dan insentif untuk semua
karyawan yang mendapatkan insentif menggunakan left join
Kueri SQL di Oracle,
Pilih FIRST_NAME, nvl(INCENTIVE_AMOUNT,0) dari karyawan a gabung kanan
insentif B pada A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
Kueri SQL di SQL Server,
Pilih FIRST_NAME, jika null(INCENTIVE_AMOUNT,0) dari karyawan a bergabung kanan
insentif B pada A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
Kueri SQL di MySQL
Pilih FIRST_NAME, IFNULL(INCENTIVE_AMOUNT,0) dari karyawan a bergabung kanan
insentif B pada A.EMPLOYEE_ID=B.EMPLOYEE_REF_ID
54. Pilih insentif maksimum terkait dengan karyawan dari tabel karyawan dan insentif menggunakan
sub kueri
Kueri SQL di Oracle,
pilih DEPARTEMEN,(pilih nvl(max(JUMLAH_INSENTIF),0) dari INSENTIF di mana
EMPLOYEE_REF_ID=EMPLOYEE_ID) Max_incentive dari KARYAWAN
Kueri SQL di SQL Server,
pilih DEPARTEMEN, (pilih ISNULL(max(JUMLAH_INSENTIF),0) dari INSENTIF
di mana EMPLOYEE_REF_ID=EMPLOYEE_ID) Max_incentive dari KARYAWAN
Kueri SQL di SQL Server,
pilih DEPARTEMEN,(pilih JIKA NULL (maks(INCENTIVE_AMOUNT),0) dari INSENTIF
di mana EMPLOYEE_REF_ID=EMPLOYEE_ID) Max_incentive dari KARYAWAN
Pertanyaan Wawancara Kuery SQL Tingkat Lanjut dan
Jawaban tentang "Gaji Top N" - Contoh
Pilih 2 gaji teratas dari tabel karyawan
Kueri SQL di Oracle,
pilih * dari (pilih * dari karyawan urutkan berdasarkan GAJI desc) di mana rownum <3
Kueri SQL di SQL Server,
pilih 2 teratas * dari karyawan urutkan berdasarkan gaji menurun
Query SQL di MySQL,
pilih * dari karyawan urutkan berdasarkan gaji desc batasi 2
56. Pilih Gaji TOP N dari tabel karyawan
Kueri SQL di Oracle,
pilih * dari (pilih * dari karyawan urutkan berdasarkan GAJI desc) di mana rownum < N +
1
Kueri SQL di SQL Server,
pilih atas N * dari karyawan
Kueri SQL di MySQL
pilih * dari karyawan urutkan berdasarkan gaji desc batasi N
57. Pilih gaji tertinggi kedua dari tabel karyawan
Kueri SQL di Oracle,
pilih min(gaji) dari (pilih * dari (pilih * dari karyawan urut berdasarkan
Gaji desc) di mana rownum <3)
Kueri SQL di SQL Server,
pilih min(GAJI) dari (pilih atas 2 * dari karyawan) a
Kueri SQL di MySQL
pilih min(GAJI) dari (pilih * dari karyawan urutkan berdasarkan gaji menurun batas 2)
a
58. Pilih gaji Tertinggi ke-N dari tabel karyawan
Kueri SQL di Oracle,
pilih min(gaji) dari (pilih * dari (pilih * dari karyawan urut berdasarkan
GAJI desc) di mana rownum <N + 1)
Kuery SQL di SQL Server,
pilih min(GAJI) dari (pilih atas N * dari karyawan) a
Kueri SQL di MySQL,
pilih min(GAJI) dari (pilih * dari karyawan urutkan berdasarkan gaji desc batas N)
a
Pertanyaan dan Jawaban Wawancara SQL Queries tentang "SQL"
Serikat" - Contoh
59. Pilih First_Name, LAST_NAME dari tabel karyawan sebagai baris terpisah
pilih NAMA_DEPAN dari KARYAWAN union pilih NAMA_BELAKANG dari KARYAWAN
60. Apa perbedaan antara UNION dan UNION ALL?
Baik UNION maupun UNION ALL digunakan untuk memilih informasi dari struktur yang secara
tabel serupa. Itu berarti kolom yang sesuai yang ditentukan dalam gabungan
harus memiliki tipe data yang sama. Sebagai contoh, dalam kueri di atas, jika FIRST_NAME adalah
DOUBLE dan LAST_NAME adalah STRING maka kueri di atas tidak akan berfungsi. Karena tipe data dari
Kedua kolom adalah VARCHAR, union dimungkinkan. Perbedaan antara
UNION dan UNION ALL adalah bahwa, query UNION hanya mengembalikan nilai-nilai yang berbeda.
61. Pilih detail karyawan dari tabel karyawan jika data ada di tabel insentif?
pilih * dari KARYAWAN di mana ada (pilih * dari INSENTIF)
Penjelasan: Di sini pernyataan ini membantu kami melakukan tugas dari pernyataan If. Kuery utama akan mendapatkan
dijalankan jika subquery mengembalikan setidaknya satu baris. Jadi kita dapat menganggap subquery sebagai "Jika
kondisi" dan kueri utama sebagai "blok kode" di dalam kondisi If. Kita dapat menggunakan SQL apa pun
perintah (Gabung, Grup Berdasarkan, memiliki dll) dalam subkueri. Perintah ini akan berguna dalam kueri
yang perlu mendeteksi sebuah peristiwa dan melakukan beberapa aktivitas.
62. Bagaimana cara mengambil data yang umum dalam dua hasil kueri?
pilih * dari KARYAWAN di mana ID_KARYAWAN IRISAN pilih * dari KARYAWAN
dimana EMPLOYEE_ID <4
Penjelasan: Di sini perintah INTERSECT digunakan untuk mengambil data yang sama.
2 kueri. Dalam contoh ini, kami telah mengambil tabel KARYAWAN di kedua
Kami dapat menerapkan perintah INTERSECT pada tabel yang berbeda. Hasil dari
kueri di atas akan mengembalikan rincian karyawan dari "ROY" karena, ID karyawan ROY
adalah 3, dan kedua hasil kueri memiliki informasi tentang ROY.
63. Dapatkan ID Karyawan dari karyawan yang tidak menerima insentif tanpa menggunakan sub
kueri ?
pilih EMPLOYEE_ID dari KARYAWAN KURANG pilih EMPLOYEE_REF_ID dari INSENTIF
Penjelasan: Untuk memfilter informasi tertentu, kita menggunakan perintah MINUS. Apa
Perintah MINUS adalah bahwa, itu mengembalikan semua hasil dari kueri pertama,
yang bukan bagian dari kueri kedua. Dalam contoh kami, tiga karyawan pertama
menerima insentif. Jadi kueri akan mengembalikan ID karyawan 4 hingga 8.
64. Pilih 20% dari gaji John, 10% dari gaji Roy, dan untuk lainnya 15% dari gaji
dari tabel karyawan
PILIH NAMA_DEPAN, KASUS NAMA_DEPAN KETIKA 'John' MAKA GAJI * .2 KETIKA 'Roy'
MAKA GAJI * .10 JIKA TIDAK GAJI * .15 AKHIRI "Jumlah_Dikurangi" DARI KARYAWAN
Penjelasan: Di sini kami menggunakan pernyataan SQL CASE untuk mencapai yang diinginkan
hasil. Setelah pernyataan kasus, kami harus menentukan kolom yang mana
pencarian diterapkan. Dalam kasus kami adalah "NAMA_DEPAN". Dan pada kondisi kemudian,
sebutkan nama filter seperti John, Roy dll. Untuk menangani kondisi di luar
filter kita, gunakan blok else di mana semua orang selain John dan Roy masuk.
Departemen Bank
Dept' dari tabel karyawan
Kueri SQL di Oracle,
PILIH DISTINCT DECODE (DEPARTEMEN, 'Perbankan', 'Departemen Bank', 'Asuransi',
'Departemen Asuransi', 'Layanan', 'Departemen Layanan'
Kueri SQL di SQL Server dan MySQL,
PILIH kasus DEPARTEMEN ketika 'Perbankan' maka 'Departemen Bank' ketika 'Asuransi' maka
'Departemen Asuransi' ketika 'Layanan' kemudian 'Departemen Layanan' akhir DARI KARYAWAN
Penjelasan: Di sini kata kunci DECODE digunakan untuk menentukan nama alias.
oracle kami harus menentukan, Nama Kolom diikuti dengan Nama Aktual dan Nama Alias sebagai
argumen. Di SQL Server dan MySQL, kita dapat menggunakan switch case sebelumnya
pernyataan untuk nama alias.
66. Hapus data karyawan dari tabel karyawan yang mendapatkan insentif di tabel insentif
hapus dari KARYAWAN di mana ID_KARYAWAN di (pilih ID_REFF_KARYAWAN dari
INSENTIF)
Penjelasan: Trik tentang pertanyaan ini adalah bahwa kita tidak bisa menghapus data dari sebuah
tabel berdasarkan beberapa kondisi di tabel lain dengan menggabungkan mereka. Di sini untuk
hapus beberapa entri dari tabel KARYAWAN, kita perlu menggunakan Subquery. Entri
akan dihapus berdasarkan hasil Subquery.
67. Masukkan ke dalam tabel karyawan Nama Belakang dengan " ' " (Tanda Kutip Tunggal - Karakter Khusus)
Tip - Gunakan tanda kutip tunggal lain sebelum karakter khusus
Sisipkan ke dalam karyawan (NAMA_BELAKANG) nilai ('Test''')
68. Pilih Nama Belakang dari tabel karyawan yang hanya mengandung angka
Pilih * dari KARYAWAN di mana lower(NAMA_TERAKHIR)=upper(NAMA_TERAKHIR)
Penjelasan: Di sini untuk mencapai hasil yang diinginkan, kami menggunakan ASCII
properti basis data. Jika kita mendapatkan hasil untuk kolom menggunakan Lower dan
Perintah atas, ASCII dari kedua hasil akan sama untuk angka. Jika ada
setiap huruf dalam kolom, hasilnya akan berbeda.
69. Tulis kueri untuk memberi peringkat karyawan berdasarkan insentif mereka selama sebulan
pilih NAMA_DEPAN, JUMLAH_INSENTIF, DENSE_RANK() OVER (PARTISI OLEH
TANGGAL_INSENTIF URUTKAN DARI JUMLAH_INSENTIF DESC) SEBAGAI Peringkat dari KARYAWAN a,
INSENTIF b di mana a.EMPLOYEE_ID=b.EMPLOYEE_REF_ID
Penjelasan: Di sini untuk merangking karyawan berdasarkan peringkat mereka untuk a
bulan, kata kunci DENSE_RANK digunakan. Di sini, kata kunci partition by membantu kita untuk mengurutkan
kolom yang digunakan untuk penyaringan. Peringkat diberikan pada kolom
ditentukan dalam pernyataan urutan. Kueri di atas meranking karyawan dengan
menghormati insentif mereka untuk bulan tertentu.
70. Perbarui tabel insentif di mana nama karyawan adalah 'John'
Penjelasan: Di sini kita perlu menggabungkan Tabel Karyawan dan Tabel Insentif untuk memperbarui insentif.
jumlah. Tetapi untuk pernyataan pembaruan, kueri penggabungan tidak akan berfungsi. Kami perlu menggunakan sub kueri untuk memperbarui
data dalam tabel insentif. Kuery SQL ditunjukkan di bawah ini.
perbarui INCENTIVES set INCENTIVE_AMOUNT='9000' di mana EMPLOYEE_REF_ID=(pilih
EMPLOYEE_ID dari KARYAWAN di mana NAMA_DEPAN='John'
Pertanyaan dan Jawaban Wawancara SQL Queries tentang "SQL"
Skrip Tabel - Contoh
71. Tulis sintaksis buat tabel untuk tabel karyawan
Oracle–
BUAT TABEL KARYAWAN (
NOMOR_PEGAWAI
NAMA_DEPAN VARCHAR2(20 BYTE)
VARCHAR2(20 BYTE)
GAJI FLOAT(126)
TIMESTAMP (6) DEFAULT sysdate
DEPARTEMEN VARCHAR2(30 BYTE)
SQL Server - BUAT TABEL KARYAWAN(
int TIDAK NULL
varchar(50) NULL
NAMA_BELAKANG varchar(50) NULL
gaji desimal(18, 0) NULL
TANGGAL_GABUNG datetime2(7) default getdate(),
DEPARTEMEN varchar(50) NULL)
72. Tulis sintaks untuk menghapus tabel karyawan
HAPUS tabel karyawan;
73. Tulis sintaks untuk menetapkan EMPLOYEE_ID sebagai kunci utama dalam tabel employee
ALTER TABLE KARYAWAN tambahkan BATASAN KARYAWAN_PK KUNCI UTAMA(KARYAWAN_ID)
74. Tulis sintaks untuk mengatur 2 kolom (EMPLOYEE_ID, FIRST_NAME) sebagai kunci utama di
tabel karyawan
ALTER TABLE KARYAWAN tambahkan KONSTRIAN KARYAWAN_PK PRIMER
(ID_KARYAWAN,NAMA_DEPAN)
75. Tulis sintaksis untuk menghapus kunci utama pada tabel karyawan
Ubah TABEL KARYAWAN hapus BATASAN KARYAWAN_PK;
76. Tulis Sintaks Sql untuk membuat EMPLOYEE_REF_ID di tabel INCENTIVES sebagai kunci asing
dengan memperhatikan EMPLOYEE_ID di tabel karyawan
UBAH TABEL INSENTIF ADD KONTRAINT INCENTIVES_FK KUNCI ASING
(EMPLOYEE_REF_ID) MENGACU KE EMPLOYEE(EMPLOYEE_ID)
77. Tulis SQL untuk menghapus kunci asing pada tabel karyawan
ALTER TABLE INCENTIVES drop CONSTRAINT INCENTIVES_FK;
78. Tulis SQL untuk membuat Urutan Orcale
BUAT SEQUENCE EMPLOYEE_ID_SEQ MULAI DARI 0 NOLIH VALUE MINVALUE 0 NOCYCLE
NOCACHE NOORDER;
79. Tulis sintaks SQL untuk membuat Trigger Oracle sebelum memasukkan setiap baris di tabel karyawan
BUAT ATAU GANTI TRIGGER EMPLOYEE_ROW_ID_TRIGGER
SEBELUM MENYISIPKAN PADA KARYAWAN UNTUK SETIAP BARIS
DECLARE
seq_no nomor(12);
AWAL
pilih EMPLOYEE_ID_SEQ.nextval ke dalam seq_no dari dual ;
:new EMPLOYEE_ID :=seq_no;
AKHIR;
TAMPILKAN KESALAHAN;
80. Oracle Procedure81. Oracle View
Skrip tampilan oracle contoh diberikan di bawah ini
buat tampilan Employee_Incentive sebagai pilih FIRST_NAME,maks(INCENTIVE_AMOUNT)
JUMLAH_INSENTIF dari KARYAWAN a, INSENTIF b di mana
a.EMPLOYEE_ID=b.EMPLOYEE_REF_ID grup berdasarkan FIRST_NAME
82. Tampilan materialisasi Oracle - Penyegaran Otomatis Harian
BUAT VIEW MATERIALIZED Employee_Incentive
REFRESH SELESAI
MULAI DENGAN SYSDATE
BERIKUTNYA SYSDATE + 1 SEBAGAI
pilih NAMA_DEPAN,TANGGAL_INSENTIF,JUMLAH_INSENTIF dari KARYAWAN a, INSENTIF
b
di mana a.EMPLOYEE_ID=b.EMPLOYEE_REF_ID
83. Tampilan materialisasi Oracle - Penyegaran Cepat pada Komit
Buat log tampilan materialized untuk penyegaran cepat. Tampilan materialized berikut
skrip tidak akan dijalankan jika log tampilan materialisasi tidak ada
BUAT VIEW MATERIALISASI MAT_Karyawan_Incentive_Segarkan
BANGUN SEGERA
SEGARKAN CEPAT PADA KOMIT SEBAGAI
pilih FIRST_NAME,max(INCENTIVE_AMOUNT) dari KARYAWAN a, INSENTIF b
di mana a.EMPLOYEE_ID=b.EMPLOYEE_REF_ID grup berdasarkan FIRST_NAME
84. Apa itu SQL Injection?
SQL Injection adalah salah satu teknik yang digunakan oleh peretas untuk meretas sebuah situs web
dengan menyisipkan perintah SQL ke dalam bidang data.