首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

SQLZoo 練習題解析:SELECT 基礎查詢(世界國家表)

     編輯:MySQL 綜合教學

SQLZoo 練習題解析:SELECT 基礎查詢(世界國家表)

SQLZoo 是經典的線上 SQL 練習平台。本文針對 world 資料表(欄位:name 國名、continent 洲別)的 15 道 SELECT 練習題,提供標準答案與語法解析,涵蓋 LIKE 模糊比對、萬用字元 % _、字串函數 CONCAT、REPLACE 等核心技巧。

資料表結構

world(name, continent)
-- 範例資料
Afghanistan | Asia
Albania     | Europe
Algeria     | Africa
...

練習題與解答

#題目需求SQL 語句關鍵點
1找出以 Y 開頭的國家SELECT name FROM world WHERE name LIKE 'Y%'% 代表任意長度字串
2找出以 Y 結尾的國家SELECT name FROM world WHERE name LIKE '%Y'同前,位置互換
3名字包含字母 x 的國家SELECT name FROM world WHERE name LIKE '%x%'雙邊 % 任意位置
4名字以 land 結尾SELECT name FROM world WHERE name LIKE '%land'後綴比對
5以 C 開頭、ia 結尾SELECT name FROM world WHERE name LIKE 'C%ia'前綴+後綴組合
6名字包含雙 o (oo)SELECT name FROM world WHERE name LIKE '%oo%'子字串搜尋
7名字含 3 個以上 aSELECT name FROM world WHERE name LIKE '%a%a%a%'多重 % 計數
8第 2 個字母是 tSELECT name FROM world WHERE name LIKE '_t%' ORDER BY name_ 單一字元萬用字元
9兩個 o 中間隔 2 個字元SELECT name FROM world WHERE name LIKE '%o__o%'__ 固定 2 字元
10名字剛好 4 個字母SELECT name FROM world WHERE name LIKE '____'4 個 _ 精確長度
11首都與國名相同SELECT name FROM world WHERE name = CONCAT(capital, '')CONCAT 字串連接
12首都 = 國名 + ' City'SELECT name FROM world WHERE capital = CONCAT(name, ' City')字串運算比對
13首都包含國名SELECT capital, name FROM world WHERE capital LIKE CONCAT('%', name, '%')動態建構 LIKE 模式
14首都為國名延伸且不相同SELECT name, capital FROM world WHERE capital LIKE CONCAT('%', name, '%') AND capital != name排除相等情況
15顯示國名及延伸詞SELECT name, REPLACE(capital, name, '') FROM world WHERE capital LIKE CONCAT(name, '%_')REPLACE 移除國名取後綴

核心語法重點回顧

  • LIKE + %(任意長度)/ _(單一字元)是模糊查詢基石
  • CONCAT(str1, str2, ...) 串接字串,MySQL 不支援 || 運算子
  • REPLACE(str, from_str, to_str) 替換字串,此處用於「扣除國名取得首都後綴」
  • 條件組合時善用 AND/OR,注意括號優先序

延伸練習建議

完成基礎 SELECT 後,建議挑戰 SQLZoo 後續單元:SELECT FROM nobel(聚合函數)、JOIN 多表查詢、NULL 處理、子查詢等,循序漸進建立扎實 SQL 功力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved