🔍 實戰演練:多條件房源查詢
需求描述
查找一套符合以下條件的房子:
- 預算:2000–3000元
- 區域:天河區
- 戶型:兩房
關鍵詞:多條件查詢
AND
BETWEEN
LIKE
組合運用
🎬 開場白
“聽起來不難?寫出來才算數!”
很多人學完 SELECT/WHERE/ORDER BY/LIMIT 后覺得掌握了SQL,但遇到多條件組合時立刻懵圈。今天就來實戰檢驗你的SQL能力!
📄 場景設定:租房篩選
示例表 houses
房源表
house_id | title | price | district | room_type |
---|---|---|---|---|
1 | 精裝一房 | 1800 | 天河 | 一房一廳 |
2 | 電梯兩房 | 2500 | 越秀 | 兩房一廳 |
3 | 合租三房 | 2000 | 天河 | 三房一廳 |
4 | 豪華復式 | 3600 | 海珠 | 三房兩廳 |
5 | 小兩房 | 2800 | 天河 | 兩房一廳 |
🧠 需求分解 → SQL條件
條件 | SQL 寫法 |
---|---|
價格在2000–3000 | price BETWEEN 2000 AND 3000 |
在天河區 | district = '天河' |
是兩房 | room_type LIKE '%兩房%' |
💡 注意:
room_type
是描述性文本,需用LIKE
模糊匹配
? 綜合查詢語句
SELECT *
FROM houses
WHERE price BETWEEN 2000 AND 3000AND district = '天河'AND room_type LIKE '%兩房%';
📦 進階加料:排序+分頁
-- 按租金升序排列,查看第1頁(每頁2條)
SELECT *
FROM houses
WHERE price BETWEEN 2000 AND 3000AND district = '天河'AND room_type LIKE '%兩房%'
ORDER BY price ASC
LIMIT 2 OFFSET 0;
🧠 技術點溫習
技術點 | 用法示例 |
---|---|
BETWEEN | price BETWEEN 1000 AND 3000 |
LIKE | room_type LIKE '%兩房%' |
AND | 多條件組合 |
ORDER BY | 排序結果 |
LIMIT | 限制條數 |
OFFSET | 分頁偏移 |
🛠 練習題
- 查出"越秀"區且價格低于2500元的所有房源
- 查出所有"豪華"房型(含"復式"字樣)并按價格降序排列
- 查找預算1800–2500的房子,每頁2條,查看第2頁
🧱 結語
“你已經掌握了SQL 80%的核心用法!”
若能熟練寫出這類查詢,你已能應對絕大多數數據篩選任務。
SQL不難,難在敢寫、常寫、寫得清楚!