Jumat, 17 Agustus 2018

SQL Server Tutorial : Soal - Soal Northwind 2

Kalau ada yang mau download database nya untuk latihan, bisa lihat post berikut.


-- Get CustomerID, CompanyName, ContactName, ContactTitle, Address where Country Mexico

SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address 
FROM Customers
WHERE Country = 'Mexico'



Pada soal diatas, kita diminta menampilkan CustomerID, CompanyName, ContactName, ContactTitle, dan Address dimana Country nya adalah Mexico. Jadi untuk select nya kita tinggal select field - field yang mau ditampilkan, from Customers karena tabel yang dipakai adalah tabel Customers dan semua field itu ada di tabel Customers jadi tidak usah join joinan.
Kemudian, untuk kondisinya menggunakan where Country = 'Mexico' agar mendapatkan record yang countrynya Mexico.


-- Get CustomerID, CompanyName,ContactName, ContactTitle, Address where ContactName like 'AN%'

SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address 
FROM Customers
WHERE ContactName LIKE 'AN%'



Nah, untuk yang ini kita ingin menampilkan CustomerID, CompanyName, ContactName, ContactTitle, dan Address dimana ContactName like 'AN%'. Dalam kondisi like ini ada tanda % di belakang AN, jadi kita mau tampilkan yang ContacName nya diawali dengan AN. bisa dilihat di hasilnya CompanyName depannya AN semua.

-- Get No Fax if fax = NULL from Customers
SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, 
(CASE
WHEN Fax IS NULL THEN 'No Fax'
ELSE Fax
END) AS FaxNumber 
FROM Customers



Kalo kita select * di tabel Customers maka ada beberapa record Fax yang isinya NULL. Nah, disini kita diminta untuk mengganti NULL itu dengan 'No Fax'. Jadi caranya dengan membikin case yang akan mengisi field bernama FaxNumber.


-- Get All ContactTitle From Customers

Select distinct ContactTitle From Customers



Nah, disini kita diminta menampilkan ContactTitle tapi jangan ada yang rangkap. Kalo kita pake Select ContactTitle, maka yang muncul semua ContactTitle sebanyak record yang ada, Tapi kita disini cuma ingin tau ContactTitle apa aja yang ada, jadi bisa dilakukan dengan menggunakan Select distinct ContactTitle.


-- Get All Customer where sorting by Contact Name Desc

Select * FROM Customers
ORDER BY ContactName DESC


Nah ini kita tinggal select semuanya trus di order by ContactName desc


Tidak ada komentar:

Posting Komentar