在這篇文章中,我們將介紹 SQL 的基本操作及一些進階應用,包括條件查詢、排序和模糊匹配,幫助初學者快速掌握 SQL 的核心技能。如果你想在資料庫管理中更有效率,這篇教學絕對值得一讀!
1. 查詢特定分數區間的學生
當我們需要查詢特定成績範圍的學生時,可以使用 WHERE
條件篩選數據。例如,篩選成績在 80 至 90 分的學生:
SELECT name, class, grade
FROM school
WHERE grade >= 80 AND grade < 90;
1-1 使用 BETWEEN
語法簡化範圍查詢
BETWEEN
是更直觀的範圍查詢語法,等效於上述條件:
SELECT name, class, grade
FROM school
WHERE grade BETWEEN 80 AND 90;
1-2 使用括號組合條件查詢
當需要組合多條件時,AND
的優先級比 OR
高。可以透過括號清晰地定義執行順序,例如:
SELECT name, class, grade
FROM school
WHERE grade BETWEEN 80 AND 90 AND (class = '104' OR class = '102');
1-3 實用IN 簡化多個or的實用
Select name, class, grade
from school
where grade between 80 and 90 and (class in (‘104′,’102’));
2. 排除特定班級並按成績降序排列
如果需要排除某一班級的數據,並根據成績從高到低排序,可以使用以下查詢語句:
SELECT name, class, grade
FROM school
WHERE class <> '104'
ORDER BY grade DESC;
此語法中,<>
表示「不等於」,ORDER BY
則用於對查詢結果進行排序。
3. 查詢名字以特定字符開頭的學生
使用 LIKE
關鍵字可以進行模糊匹配,篩選出符合特定模式的數據。例如,查詢名字以「Cheng」開頭的學生:
SELECT name, class, grade
FROM school
WHERE name LIKE 'Cheng%';
在這裡,%
表示任意數量的字符。
4. 查詢名字為特定長度的學生
_
是另一個模糊匹配符號,可用於匹配單個字符。例如,查詢名字為兩個字,且以「Cheng」開頭的學生:
SELECT name, class, grade
FROM school
WHERE name LIKE 'Cheng_';
- 查詢平均成績,sum, min, max, count
Select avg(grade),sum(grade), min(grade), max(grade), count(grade)
from students;
5-1 重新命名title
Select avg(grade) as 平均成績, max(grade) as 最高分
from students;
5-2 保留小數點位數-round語法
Select Round(avg(Grade),1) as 平均成績
from students;
5-3 各班級的成績
Select Round(avg(Grade),1) as AverageGrade
from students
group by class;
5-4 各班級成績 由高到低排序
Select Round(ave(grade),1) as AverageGrade
from students
group by class DESC;
結語
透過以上實用範例,您可以快速掌握 SQL 的基本操作和進階應用。這些技巧不僅適用於資料庫查詢,也能幫助您在實際工作中提升效率。如果您覺得這篇文章對您有幫助,請記得分享給更多需要學習 SQL 的朋友!
根據PAPYA教室所指導的範例所整理的筆記