码迷,mamicode.com
首页 > 其他好文 > 详细

第十七章 使用DQL命令查询数据

时间:2017-07-22 00:05:20      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:mit   分页   条件查询   like   模糊   命令   最大数   min   hone   

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命令查询数据

标签:mit   分页   条件查询   like   模糊   命令   最大数   min   hone   

原文地址:http://www.cnblogs.com/lovel/p/7215450.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!