Isi table rep_email dengan menjalankan queri atau mengambil data pada tabel employees
yang hanya job_id ada “REP” tersebut. Pada perintah where UPPER (job_id) LIKE
‘%REP%’;
Hasil insertnya:
Jawab:
INSERT INTO rep_email(
id, first_name, last_name, email_address
)
SELECT
employee_id,
first_name,
last_name,
email
FROM
oehr_employees
WHERE
job_id LIKE '%REP%';
SELECT
*
FROM
rep_email;
Output:
Melakukan penginputan data ke dalam tabel rep_email dengan menyalin data dari tabel
employees dan memiliki job_id yang mengandung kata ”REP”. Kemudian perintah
selanjutnya digunakan untuk melihat data yang telah diinputkan ke dalam tabel rep_email.
a. Buatlah tabel sales_reps yang struktur tabel mengambil dari struktur tabel employees.
Dengan menggunakan describe tampilkan struktur tabel sales_reps.
b. Jalankan perintah queri diatas, tampilkan dan analisa hasil querinya.
Jawab:
a. Membuat tabel sales_reps
CREATE TABLE sales_reps AS (
SELECT
employee_id AS id,
last_name AS name,
salary,
commission_pct
FROM
oehr_employees
WHERE
0 = 1
);
DESCRIBE sales_reps;
Output:
Membuat tabel sales_reps dengan menyalin struktur tabel employees dan menambahkan
queri where 0=1 untuk menyalin struktur tabelnya saja tanpa menyalin data yang ada pada
tabel employees. Kemudian menggunakan describe untuk melihat struktur tabel
sales_reps sehingga dapat dikonfirmasi apakah struktur tabel benar-benar sudah sama
seperti tabel employees.
b. Jalankan perintah queri diatas, tampilkan hasilnya dan analisa hasil querinya.
INSERT INTO sales_reps(id, name, salary, commission_pct)
SELECT
employee_id,
last_name,
salary,
commission_pct
FROM
oehr_employees
WHERE
job_id LIKE '%REP%';
SELECT
*
FROM
sales_reps;
Output:
Perintah diatas digunakan untuk melakukan penginputan data tabel sales_reps dengan
menyalin data dari employees tetapi yang disalin hanya yang memiliki kata ”REP” dalam
job_id mereka. Kemudian output kedua diatas menunjukan data yang memiliki kata “REP”
dalam job_id mereka.
3. Pada chapter DP_12_2_id pada halaman 31 dan 32, Anda diminta menjelaskan setiap
kesimpulan dengan menggunakan contoh perintah queri.
Jawab:
SELECT * FROM sales_reps WHERE id = 150;
UPDATE sales_reps
SET salary = 15000
WHERE id = 150;
Output:
Perintah sql queri bait pertama digunakan untuk mengubah data yang ada pada tabel.
Dengan menggunakan perintah UPDATE kemudian memasukkan column dan value yang
akan diubah dan ditambah WHERE data yang akan diubah. Output 1 dan 3 adalah contoh
sebelum dan sesudah diupdate.
UPDATE sales_reps
SET salary = (SELECT salary FROM oehr_employees WHERE
employee_id = 120)
WHERE id = 160;
Perintah queri selanjutnya adalah perintah queri yang sama juga seperti perintah queri
kedua namun memiliki sedikit perbedaan, yaitu queri ini menggunakan subquery untuk
klausa WHERE-nya. Disini saya menambahkan AND karena salary yang bernilai sama
seperti employee_id 120 lebih dari satu.
Untuk point ke 4 ”Membuat dan menjalankan queri yang menggunakan subkueri yang
saling berhubungan untuk memperbarui dan menghapus dari tabel. Pada dasarnya sama
seperti pada perintah queri point ke 3. Jadi saya akan langsung lompat ke point 5 saja.
UPDATE sales_reps
SET name = (SELECT last_name FROM oehr_employees WHERE
employee_id = 999)
WHERE id = 151;
Perintah queri diatas mengembalikan error, karena struktur tabel sales_reps column name
tidak nullable, sedangkan value yang kita berikan adalah null, sehingga muncul lah error
tersebut. Ini adalah contoh pelanggaran constraint intefritas. Jadi kita harus selalu
menyesuaikan queri kita dengan struktur tabel yang akan kita kelola.