DISTINCT
DISTINCT是對整個結果集進行數據重復處理的,而不是針對每一個列,
因此下面的語句并不會只保留Fdepartment進行重復值處理:
SELECT DISTINCT FDepartment,FSubCompany
FROM T_Employee
2. GROUP BY
按照年齡進行分組統計各個年齡段的人數:
SELECT FAge,Count(*) FROM T_Employee GROUP BY Fage
GROUP BY子句必須放到WHERE語句的之后
沒有出現在GROUP BY子句中的列是不能放到SELECT語句后的列名列表中的 (聚合函數中除外)
錯誤:
SELECT FAge,FSalary FROM T_Employee GROUP BY FAge
正確:
SELECT FAge,AVG(FSalary) FROM T_Employee GROUP BY FAge
3.Having
在Where中不能使用聚合函數,必須使用Having,Having要位于Group By之后:
SELECT FAge,COUNT(*) AS 人數 FROM T_Employee
GROUP BY FAge
HAVING COUNT(*)>1
注意Having中不能使用未參與分組的列,Having不能替代where。作用不一樣,Having是對組進行過濾。
4.In
Delete T_Employee where FId in(21,22)
SELECT FAge,FNumber,FName FROM T_Employee
WHERE FAge IN (23,25,28)
范圍值:
SELECT * FROM T_Employee WHERE FAGE>=23 AND FAGE <=27
SELECT * FROM T_Employee WHERE FAGE BETWEEN 23 AND 27
5.ORDER BY 數據排序
ORDER BY子句位于SELECT語句的末尾,它允許指定按照一個列或者多個列進行排序,
還可以指定排序方式是升序(從小到大排列,ASC)還是降序(從大到小排列,DESC)。
按照年齡升序排序所有員工信息的列表:
SELECT * FROM T_Employee ORDER BY FAge ASC
按照年齡從大到小排序,如果年齡相同則按照工資從大到小排序 :
SELECT * FROM T_Employee ORDER BY FAge DESC,FSalary DESC(多個排序條件)
ORDER BY子句要放到WHERE子句之后 :
SELECT * FROM T_Employee WHERE FAge>23 ORDER BY FAge DESC,FSalary DESC
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。