第十七章 使用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

.

转载于:https://www.cnblogs.com/lovel/p/7215450.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值