3C電商資料
--商品資料表
CREATE TABLE products(
name VARCHAR(100), --商品名稱
price INTEGER, --原價
discount_price INTEGER, --折扣價
stock INTEGER, --庫存數量(
category VARCHAR(50), --商品類型status VARCHAR(20) --庫存數量(category VARCHAR(50), --商品類型
status VARCHAR(20) -- 商品狀態(上架商品狀態(上架)
)
INSERT INTO (name, price, discount_price, stock, category, status) VALUES
('iPhone 16', 25000, 23000, 50, '3C', 'active'),
('ASUS Swift GO UItra 7', 33000, 31490, 5, '3C', 'inactive'),
('GoPro HERO12 Black', 10000, 9000, 25, '3C', 'active'),
('升降書桌', 4600, 2300, 100, '家具', 'active'),
('辦公桌', 1500, 750, 30, '家具', 'active'),
('辦公椅', 1000, 660, '家具', 'active');
WHERE 篩選
篩選數據,用來進一步與SELECT查詢語句做搭配運算子來找出「符合條件」。
尋找3C類型的產品
SELECT name, price
FROM products
WHERE category = '3C';
SQL執行順序
實際SQL運行是先將資料表取再依條件篩選後,之後照著位置名稱顯示於查詢結果上。
比較運算子
如果您有寫過程式的人來對您不陌生,因為在SQL語言法上也有計算的方式。
<>(標準SQL用法) != (支援某些資源庫,如:MySQL、PostgreSQL、SQL Server)
尋找折扣價格低於3000元的商品
SELECT *
FROM products
WHERE discount_price < 3000;
邏輯運算子
已上架的3C產品
SELECT name, price, stock
FROM products
WHERE status = 'active' AND category = '3C';
下架或無商品
SELECT name, price, stock
FROM products
WHERE status = 'inactive' OR stock = 0;
集合與範圍運算子
今天是雙十一網路商品大特價,想要便宜一點,預算在5000~10000元
SELECT name, price, stock
FROM products
WHERE discount_price BETWEEN 5000 AND 10000;
找不到特定類別商品
SELECT name, price, stock
FROM products
WHERE category IN ('3C', '家具');
排除特定商品(iPhone 16、辦公桌、辦公椅)
SELECT 名稱, 價格, 庫存
FROM products
WHERE name NOT IN ('iPhone 16', '辦公桌', '辦公椅');