SQL Examples

Learn by examples!

把常見 SQL 題型整理成複習頁,適合快速回顧 SELECT、WHERE、GROUP BY、JOIN、CASE 等語法。這頁加強成實戰例題庫,方便你直接複製與修改。

SELECT / DISTINCT

查詢欄位與不重複值。

WHERE / LIKE / IN / BETWEEN

常見條件查詢模式。

GROUP BY / HAVING

分組與分組後篩選。

JOIN / UNION / EXISTS

跨表與進階整合查詢。

Example 1 - WHERE + ORDER BY

SELECT CustomerName, Country
FROM Customers
WHERE Country = 'Germany'
ORDER BY CustomerName ASC;

Example 2 - DISTINCT

SELECT DISTINCT Country
FROM Customers
ORDER BY Country;

Example 3 - GROUP BY + HAVING

SELECT Country, COUNT(*) AS CustomerCount
FROM Customers
GROUP BY Country
HAVING COUNT(*) >= 5
ORDER BY CustomerCount DESC;

Example 4 - JOIN 報表

SELECT c.CustomerName, COUNT(o.OrderID) AS OrderCount
FROM Customers c
LEFT JOIN Orders o ON c.CustomerID = o.CustomerID
GROUP BY c.CustomerName
ORDER BY OrderCount DESC;

Example 5 - CASE 分群

SELECT ProductName, Price,
       CASE
         WHEN Price >= 100 THEN 'Premium'
         WHEN Price >= 50 THEN 'Standard'
         ELSE 'Entry'
       END AS ProductTier
FROM Products;

Example 6 - EXISTS

SELECT CustomerName
FROM Customers c
WHERE EXISTS (
  SELECT 1 FROM Orders o
  WHERE o.CustomerID = c.CustomerID
);

Example 7 - UNION ALL

SELECT City, 'Customer' AS SourceType FROM Customers
UNION ALL
SELECT City, 'Supplier' AS SourceType FROM Suppliers;

Example 8 - 月份營運摘要

SELECT YEAR(OrderDate) AS OrderYear,
       MONTH(OrderDate) AS OrderMonth,
       COUNT(*) AS TotalOrders
FROM Orders
GROUP BY YEAR(OrderDate), MONTH(OrderDate)
ORDER BY OrderYear, OrderMonth;