乾貨!常見的SQL面試題:經典50例!
阿新 • • 發佈:2021-08-29
SQL基礎知識整理
- select 查詢結果,如:
[學號,平均成績:組函式avg(成績)]
- from 從哪張表中查詢資料,如:
[涉及到成績:成績表score]
- where 查詢條件,如:
[b.課程號='0003' and b.成績>80]
- group by 分組,如:
[每個學生的平均:按學號分組]
(oracle,SQL server中出現在select子句後的非分組函式,必須出現在group by子句後出現),MySQL中可以不用 - having 對分組結果指定條件,如:
[大於60分]
- order by 對查詢結果排序,如:
[增序: 成績 ASC / 降序: 成績 DESC]
; - limit使用limt子句返回topN(對應這個問題返回的成績前兩名),如:
[ limit 2 ==>從0索引開始讀取2個]
[0,N-1]
select * from table limit 2,1; -- 含義是跳過2條取出1條資料,limit後面是從第2條開始讀,讀取1條資訊,即讀取第3條資料 select * from table limit 2 offset 1; -- 含義是從第1條(不包括)資料開始取出2條資料,limit後面跟的是2條資料,offset後面是從第1條開始讀取,即讀取第2,3條
組函式:去重 distinct()統計總數sum() 計算個數count() 平均數avg() 最大值max() 最小數min()
多表連線:內連線(省略預設inner) join...on..左連線left jointableName as bon a.key ==b.key右連線right join 連線union(無重複(過濾去重))和union all(有重複[不過濾去重])
- union 並集
- union all(有重複)
oracle(SQL server)資料庫
- intersect 交集
- minus(except) 相減(差集)
https://mp.weixin.qq.com/s/CJSxzq262tuz8ANW93Lbyg
故鄉明