java学习笔记④MySql数据库--03/04 DQL查询
生活随笔
收集整理的這篇文章主要介紹了
java学习笔记④MySql数据库--03/04 DQL查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
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查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 史上最管用的C盘深度清理秘籍
- 下一篇: 福禄克FI-3000光纤监测显微仪使用M