程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql常用查詢:groupby,左連接,子查詢,havingwhere

mysql常用查詢:groupby,左連接,子查詢,havingwhere

編輯:MySQL綜合教程

前幾天去了兩個比較牛的互聯網公司面試,在sql這塊都遇到問題了,哎,可惜呀,先把簡單的梳理一下

成績表 score

\

1、group by 使用

按某一個維度進行分組

例如:

求每個同學的總分

SELECT student,SUM(score) FROM score GROUP BY student

求每個同學的平均分

SELECT student,AVG(score) FROM score GROUP BY student

也可以按照 班級,課程 來求

2、having 與 where的區別

having與where類似,可以篩選數據,where後的表達式怎麼寫,having後就怎麼寫 where針對表中的列發揮作用,查詢數據having對查詢結果中的列發揮作用,篩選數據 例如:

查出掛了兩門及以上的學生

SELECT student,SUM(score<60)as gk FROM score GROUP BY student HAVING gk>1

3、子查詢

(1)where子查詢

(把內層查詢結果當作外層查詢的比較條件)

求比每門課程平均分低的學生

SELECT student ,course, score
FROM score ,(SELECT course AS a_course,AVG( score)AS a_score FROM score GROUP BY course) AS avg_score
WHERE course = a_course AND score<a_score

先寫到這吧 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved