mysql基础操作4
创始人
2024-05-29 20:02:59
0

日期操作相关函数

NOW() 获取当前日期和时间(日期+时间)

YEAR() 获取日期中的年份

MONTH() 获取日期中的月份

DAY() 获取日期中的天

HOUR() 获取日期中的小时

MINUTE() 获取日期中的分钟

SECOND() 获取日期中的秒

WEEK() 获取日期属于当月的第几个星期

QUARTER() 获取日期属于第几个季度

DAYOFMONTH() 获取日期属于当月的第几天

ADDDATE(d,expr) 返回日期参数d加上一段时间后的日期

SUBDATE(d,expr) 返回日期参数d减去一段时间后的日期

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 返回两个日期的整数差

SELECT NOW()

SELECT YEAR(NOW())

SELECT TIMESTAMPDIFF(YEAR,'2021-01-01',NOW())

查询st1104班的2011年出生的学生姓名、课程名称、分数

SELECT s.stuName,co.cName,g.score

FROM classes c,student s,course co,grade g

WHERE c.bjid=s.bjid AND s.stuid=g.stuid AND co.cid=g.cid

AND c.bjname='st1104' AND YEAR(stuBirthday)=2011

查询工龄在3年以上的员工姓名和部门名称

SELECT e.ename,d.deptName

FROM dept d,emp e

WHERE d.did=e.did AND TIMESTAMPDIFF(YEAR,birthday,NOW())>=3

内连接查询操作列出与连接条件匹配的数据行(仅主外键有对应关系的)

左外连接符合内连接特点并且左边的表全部显示

查询所有的班级及学生信息,没有学生的班级也显示 左外连接实现

SELECT *

FROM classes c LEFT JOIN student s

ON c.bjid=s.bjid

查询所有的班级的学生总人数,显示班级名称和总人数

SELECT c.bjname,count(s.bjid)

FROM classes c LEFT JOIN student s

ON c.bjid=s.bjid

GROUP BY c.bjname

假设每个学生都学习了每门课,显示学生姓名和课程名

SELECT s.stuname,c.cname,g.score

FROM student s CROSS JOIN course c LEFT JOIN grade g

ON s.stuid=g.stuid AND c.cid=g.cid

交叉联接返回左表中的所有行,左表中的每一行与右表中所有行关联

假设每个学生都选择每门课,查询没有选择课程的学生姓名和课程名称

SELECT s.stuname,c.cname,g.score

FROM student s CROSS JOIN course c LEFT JOIN grade g

ON s.stuid=g.stuid AND c.cid=g.cid

WHERE g.score IS NULL

查询st1104班的学生信息 (要求使用子查询完成)

SELECT *

FROM student

WHERE bjid=(SELECT bjid

FROM classes

WHERE bjname='st1104')

查询学生王甘的老乡的信息 自查询:一张表赋予两种不同的身份

SELECT s2.*

FROM student s1,student s2

WHERE s1.stuAddress=s2.stuAddress

AND s1.stuname='王甘' AND s2.stuname<>'王甘'

查询所有的学生姓名、课程名称及分数, 并进行 行列转换(面试题)

SELECT s.stuname,

sum(CASE WHEN c.cname='HTML' THEN g.score ELSE 0 END)'HTML',

sum(CASE WHEN c.cname='JAVA' THEN g.score ELSE 0 END)'JAVA',

sum(CASE WHEN c.cname='MySQL' THEN g.score ELSE 0 END)'MySQL',

sum(CASE WHEN c.cname='SpringBoot' THEN g.score ELSE 0 END)'SpringBoot'

FROM student s,course c,grade g

WHERE s.stuid=g.stuid AND c.cid=g.cid

GROUP BY s.stuname

中间结果集的思想

查询所有SpringBoot成绩比其所在班级平均成绩高的学生信息

SELECT s1.*

FROM student s1,grade g1,course c1,(SELECT c.bjid,avg(g.score)pjf

FROM classes c,student s,grade g

WHERE c.bjid=s.bjid AND s.stuid=g.stuid

GROUP BY c.bjid)temp

WHERE s1.stuid=g1.stuid AND c1.cid=g1.cid AND s1.bjid=temp.bjid AND

c1.cname='SpringBoot' AND g1.score>temp.pjf

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...