1. 程式人生 > >第十七章 使用DQL命令查詢數據

第十七章 使用DQL命令查詢數據

java基礎 基礎 模糊查詢 註意 subject des avg dql 最大數

1.查詢所有:select * from subject;

2.查詢指定列:SELECT studentNo,Phone FROM student;

3.As作用:
  給數據列取別名:select subjectName as 科目名稱 from subject;

  給表取別名:select subjectName 科目名稱 from subject as s;

  給計算或總結的結果取別名:select classHour+5 as 課時 from subject ;

  註意:As可以忽略不寫

4.DISTINCT去重,只留一條:select DISTINCT SubjectName ,classHour from subject;

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.gradeid

  外聯: 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

.

第十七章 使用DQL命令查詢數據