03 使用DQL查询数据(一)

04 使用DQL查询数据(二)

DQL 数据查询语言  select

select * 方式效率低

AS 取别名 (给字段取别名,给表取别名,给计算结果取别名)

as取别名时,可省略as

distinct 去重

所有字段一起不重复算一条记录

select version(); 查找mysql的版本

like: %和_的区别

内连接 外连接 自连接

自连接实例:

select b.categoryName as "父栏目名称",a.categoryName as "子栏目名称"
from category as a
INNER JOIN category as b on a.pid = b.categoryId
where a.pid is NOT NULL;

order by : 默认asc升序,desc降序排列

mysql的时间函数:

SELECT DATE_FORMAT(now(),'%Y年%m月%d日 %H时%m分%s秒');
#2019年02月25日 20时02分06秒

SELECT STR_TO_DATE('2019年02月25日 20时02分06秒','%Y年%m月%d日 %H时%m分%s秒');
#2019-02-25 20:00:06

mysql的聚合/统计函数:

count()  sum() avg()  min()  max()

count(StudentName)取StudentName不为null的总数

group by分组后,

having 对分组后结果进行二次分组

--查找 平均分在80分以上的学生姓名及平均分select s.StudentName,avg(StudentResult) from result r inner join Student s on r.StudentNo = s.StudentNogroup by r.StudentNo having avg(StudentResult) > 80

null值的比较,和任意值比较都是false

null > 60 flase

null = 60 false

null < 60 false

null  is null true

case--when--then -else -end

select StudentNo,StudentName,case when sex=1 then "男" when sex=2 then "女" else "未知" endfrom student 

--多个INNER JOIN 使用
SELECT res.StudentNo,stu.StudentName,sub.subjectName,res.SubjectResult
from result res
INNER JOIN student stu on stu.StudentNo = res.StudentNo
INNER JOIN subject sub on sub.SubjectNo = res.SubjectNo
WHERE sub.SubjectName = "java"
ORDER BY res.StudentResult desc,res.StudentNo DESC
LIMIT 0,5;  

转载于:https://www.cnblogs.com/givemeanorange/p/10425822.html

java学习笔记④MySql数据库--03/04 DQL查询相关推荐

  1. java JDBC连接MySQL数据库调用存储过程进行查询

    java JDBC连接MySQL数据库调用存储过程进行查询 主程序代码 工具类 文件信息 存储过程 结果截图 主程序代码 package Mysql;import util.JDBCUtils; im ...

  2. Java学习笔记之数据库MySQL

    1. 数据库引擎 1.1 INNODB AND MYISAM MYISAM INNODB 事务支持 不支持 支持 数据行锁定 不支持 支持 外键 不支持 支持 全文索引 支持 不支持(InnoDB 1 ...

  3. MySQL学习笔记(3)--(DQL查询、MySQL函数)

    4.DQL查询数据 4.1.DQL (Data Query Language:数据查询语言) 所有的查询操作都用它 Select 简单的查询,复杂的查询它都能做 数据库中最核心的语言,最重要的语句 使 ...

  4. 【Java学习笔记】 网络编程04 优化字符串拼接:JSON

    学习时间 0731 优化拼接字符串 String : 是复合类型 ,相当于char的数组 是final类,也就是不支持继承 public final class String {private fin ...

  5. Java学习笔记——从零开始(2018.04.22已更新)

    2018.04.08 --Java开发入门-- -计算机基本概念- •什么是计算机 计算机是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算 ...

  6. 学习笔记——mysql数据库(四)

    我们先来建个表哦~~~ mysql> select * from e1; +----+-------+------+ | id | name | age | +----+-------+---- ...

  7. Java学习笔记:数据库中的范式和反范式

    范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法.数据库的设计范式是数据库设计所需要满足的规范.只有理解数据库的设计范式,才能设计出率.优雅的数据库,否则可能会设计出 ...

  8. 千锋重庆Java学习之MySQL大数据量分页查询方法及其优化

    方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺 ...

  9. 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...

    <Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法>要点: 本文介绍了Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法,希望对您有用.如果有 ...

最新文章

  1. 记录一次基于LV块做存储介质的KVM扩容过程
  2. ASP.NET State Service
  3. Jersey 入门与Javabean
  4. 上位机多个下位机modbustcp通讯_【C#上位机】西门子1200PLC实用定位控制程序案例...
  5. 【百度地图API】暑假放假回老家——城市切换功能
  6. 为什么设置二级路由器要断开WAN?
  7. Bootstrap框架(二)
  8. mysql query profiler_MySQL Query Profiler
  9. 光伏组件市场价格战下谁获益?
  10. Ibatis中SqlMapClientTemplate和SqlMapClient的区别
  11. mysql 事务_详解mysql如何做事务
  12. 从零开始搭二维激光SLAM --- 写作计划
  13. (转)洞见 | 为什么银行不愿意坐上Fintech这列过山车?
  14. 数据血缘关系图 工具_QCSPCChart SPC控制图工具,QCSPCChart SPC精湛而轻松
  15. ubuntu 系统 下载GCC FreeType
  16. Linux USB驱动开发
  17. 炉石传说android手机版本,炉石传说安卓手机版官方apk
  18. cst时间(utc和cst时间)
  19. java 读取psd,寻找Java库以使用PSD格式
  20. code::blocks自动补全诸如socket或者其它一些库中的函数

热门文章

  1. 【51单片机快速入门指南】3.3:USART 串口通信
  2. Exynos4412 IIC总线驱动开发(二)—— IIC 驱动开发
  3. linux借助expect完成自动登录
  4. [react] 在使用react过程中你都踩过哪些坑?你是怎么填坑的?
  5. PS教程第二十四课:魔法棒
  6. 工作168:代码中的删除逻辑处理
  7. 工作131:根据请求返回报错
  8. 工作69:发布商品页面
  9. “约见”面试官系列之常见面试题之第七十七篇之vuex中mutation和action的详细区别 (建议收藏)
  10. “约见”面试官系列之常见面试题第三十七篇之CSS3新属性(建议收藏)