1.查詢全部:select * from subject;java
2.查詢指定列:SELECT studentNo,Phone FROM student;ide
3.As做用:
給數據列取別名:select subjectName as 科目名稱 from subject;排序
給表取別名:select subjectName 科目名稱 from subject as s;it
給計算或總結的結果取別名:select classHour+5 as 課時 from subject ;class
注意:As能夠忽略不寫基礎
4.DISTINCT去重,只留一條:select DISTINCT SubjectName ,classHour from subject;select
5.條件查詢:SELECT * from result where studentresult between 80 AND 90分頁
6.鏈接查詢(多表查詢):語法
內聯: inner join 只顯示左右表匹配的數據
例子: SELECT stu.studentNo 學號,stu.studentName 學生姓名,gra.GradeName 年級名稱
FROM grade gra inner JOIN student stu ON stu.gradeid=gra.gradeidim
外聯: out join
左外聯: left join 以左表爲主,當右表中沒有匹配數據時,左表數據仍顯示
SELECT stu.studentNo 學號,stu.studentName 姓名,stu.GradeName 年級
FROM student stu LEFT JOIN result re ON stu.studentNo=re.studentno
右外聯:right join 以右表爲主,當左表中沒有匹配數據時,右表數據仍顯示
SELECT stu.studentNo 學號,stu.studentName 姓名,stu.GradeName 年級
FROM result re right JOIN student stu ON stu.studentNo=re.studentno
7. 子查詢:
SEKECT recult.studentresult,result.subjectno FROM result
where result.stidentno=(
select studentNo from student where StudentName='郭靖')
注意:若是子查詢語句的數據太多時,不能用=,改成in
8. 模糊查詢:like
select * from student where stidentname like'郭&'; %:沒有或者無數多個佔位符
'郭_'; _;一個佔位符
9. 排序:order by ASC 升序 默認
DESC 降序
例子:select srudentno, studentresult
from result
where subjectno=(select subjectNo from subject where subjectName='java基礎')
order by studentresult DESC
10. limit:經常使用於分頁,
語法:limit m,n 從m+1開始,日後顯示n條
limit n 從第一條開始,日後顯示n條
例子:select studentno,studentresult
from result
order by studentresult desc
limit 10,5; /*從第十一條開始,顯示到十五條
11. 查詢總條數:select count(1) from result
12. 查詢某一列數據的總和 select sum(studentresult) from result
13. 查詢某一列數據的平均分 select avg(studentresult) from result
14. 查詢某一列數據的最大數 select max(studentresult) from result
15. 查詢某一列數據的最小數 select min(studentresult) from result
16. 分組goup by
分組後篩選 having
例子:SELECT sub.SujectName,MAX(res.studentresult),MIN(res.studentresult)
FROM `subject` sub,result res
WHERE res.subjectno=sub.subjectNo
GROUP BY sub.SujectName
HAVING AVG(res.studentresult)>80
.