-- Get all Customer where sorting by ContactName ASC
SELECT * FROM Customers
ORDER BY ContactName ASC
Pada contoh ini kita tinggal select * untuk menampilkan semua field, lalu pakai order by ContactName ASC, untuk menampilkan record dari yang contactname nya dimulai dari A - Z karena yang dipakai adalah ascending.
-- Get Total Customer and ContactTitle where ContactTitle = Owner
SELECT count(CustomerID), ContactTitle
FROM Customers
WHERE ContactTitle = 'Owner'
Group By ContactTitle
Dari tabel Customers dimana ContactTitlenya adalah 'Owner', sudah pasti pada field ContactTitle hanya akan menghasilkan satu record yaitu Owner, kemudian count(CustomerID), akan menghitung customerID yang ContactTitle nya owner, Group by untuk menggroup berdasarkan ContactTitle nya.
-- Get Get total Customer and ContactTitle where count > 1
SELECT count(CustomerID) as Jumlah, ContactTitle
FROM Customers
GROUP BY ContactTitle
Having Count(CustomerID) > 1
Hampir sama seperti sebelumnya, disini kita akan menghitung Jumlah Customers berdasarkan ContactTitle nya, namun disini kondisinya adalah jika Count(CustomerID) > 1, maka itu harus dalam Having karena Where tidak bisa menggunakan aggregate function.
-- Get TotalCustomer and ContactTitle where Count = 1
SELECT count(CustomerID) as Jumlah, ContactTitle
FROM Customers
GROUP BY ContactTitle
Having Count(CustomerID) = 1
Ini sama dengan yang diatas, namun yang diambil adalah yang jumlahnya = 1.
/* Create a report that shows the number of employees and customers from each city that has employees in it */
SELECT count(distinct EmployeeID) as TotalEmployees, count(distinct CustomerID) as TotalCustomer, a.City
From Employees a
LEFT JOIN Customers b
on a.City = b.City
Group By a.City