首页
壁纸
留言板
友链
更多
统计归档
Search
1
TensorBoard:训练日志及网络结构可视化工具
12,588 阅读
2
主板开机跳线接线图【F_PANEL接线图】
7,032 阅读
3
Linux使用V2Ray 原生客户端
6,147 阅读
4
移动光猫获取超级密码&开启公网ipv6
4,675 阅读
5
NVIDIA 显卡限制功率
3,130 阅读
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
登录
/
注册
Search
标签搜索
好物分享
学习笔记
linux
MySQL
nvidia
typero
内网穿透
webdav
vps
java
cudann
gcc
cuda
树莓派
CNN
图像去雾
ssh安全
nps
暗通道先验
阿里云
jupiter
累计撰写
354
篇文章
累计收到
71
条评论
首页
栏目
好物分享
实用教程
linux使用
wincmd
学习笔记
mysql
java学习
nginx
综合面试题
大数据
网络知识
linux
放码过来
python
javascript
java
opencv
蓝桥杯
leetcode
深度学习
开源模型
相关知识
数据集和工具
模型轻量化
语音识别
计算机视觉
杂七杂八
硬件科普
主机安全
嵌入式设备
其它
bug处理
页面
壁纸
留言板
友链
统计归档
搜索到
3
篇与
的结果
2022-01-15
MySQL学习:SQL查询语句中select、 from、 where、 group by 、having、 order by的执行顺序
1. 字段解释from:需要从哪个数据表检索数据where:过滤表中数据的条件group by:如何将上面过滤出的数据分组having:对上面已经分组的数据进行过滤的条件select:查看结果集中的哪个列,或列的计算结果order by:按照什么样的顺序来查看返回的数据2.书写顺序与执行顺序书写顺序依次为:select>from>where>group by>having>order by # 其中select和from是必须的。执行顺序依次为:from>where>group by>having>select>order byfrom后面的表关联,是自右向左解析的;而where条件的解析顺序是从左往右的。也就是说,在写SQL语句的时候,尽量把数据量小的表放在最右边来进行关联(用小表去匹配大表),而把能筛选出小量数据的条件放在where语句的最左边 (用小表去匹配大表)。参考资料sql语句中select、 from、 where、 group by 、having、 order by的执行顺序分析SQL查询语句中select from where group by having order by的执行顺序
2022年01月15日
839 阅读
0 评论
0 点赞
2022-01-13
MySQL学习:常用函数总结
1.数学函数针对数字-- ABS(x) 返回x的绝对值 SELECT ABS(-1); -- 返回1 -- ROUND(x)返回离 x 最近的整数 SELECT ROUND(1.23456); -- 返回1 -- CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数 SELECT CEIL(1.5); -- 返回2 SELECT CEILING(1.5); -- 返回2 -- FLOOR(x) 返回小于或等于 x 的最大整数 SELECT FLOOR(1.5); -- 返回1 -- POW(x,y)/POWER(x,y)返回 x 的 y 次方 SELECT POW(2,3); -- 返回8 SELECT POWER(2,3); -- 返回8 -- RAND()返回 0 到 1 的随机数 SELECT RAND(); -- SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1 SELECT SIGN(-10); -- 返回-1 -- SQRT(x)返回x的平方根 SELECT SQRT(25); -- 返回5 -- TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值,不会进行四舍五入 SELECT TRUNCATE(1.23456,3); -- 返回1.234针对字段-- AVG(expression) 返回一个表达式的平均值,expression 是一个字段 SELECT AVG(age) FROM student; -- MAX(expression)返回字段 expression 中的最大值 SELECT MAX(age) AS maxAge FROM Student; -- MIN(expression)返回字段 expression 中的最大值 SELECT MIN(age) AS minAge FROM Student; -- SUM(expression)返回指定字段的总和 SUM(expression)返回指定字段的总和2.字符串函数-- LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s)返回字符串 s 的字符数 SELECT LENGTH('1234'); -- 返回4 -- CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串 SELECT CONCAT('hel','llo'); -- 返回hello -- LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置 SELECT LOCATE('st','myteststring'); -- 返回5 -- LCASE(s)/LOWER(s)将字符串 s 的所有字母变成小写字母 SELECT LOWER('RUNOOB'); -- 返回runoob -- UCASE(s)/UPPER(s)将字符串 s 的所有字母变成大写字母 SELECT UCASE('runoob'); -- 返回RUNOOB -- TRIM(s)去掉字符串 s 开始和结尾处的空格 SELECT TRIM(' RUNOOB ');-- 返回RUNOOB -- SUBSTR/SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串 SELECT SUBSTR/SUBSTRING("RUNOOB", 2, 3);-- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO -- REVERSE(s)将字符串s的顺序反过来 SELECT REVERSE('abc');-- 返回cba -- REPLACE()替换出现的指定字符串 SELECT REPLACE('狂神说坚持就能成功','坚持','努力'); -- 替换出现的指定字符串 SELECT REPIACE(studentname,'周','邹') FROM student WHERE studentname LIKE '%周';3.时间日期函数-- CURDATE()/CURRENT_DATE()返回当前日期 SELECT CURDATE();-- 返回2019-02-19 SELECT CURRENT_DATE(); -- 返回2019-02-19 -- CURRENT_TIME()/CURTIME()返回当前时间 SELECT CURRENT_TIME(); -- 返回11:40:45 -- NOW()返回当前日期和时间 SELECT NOW();-- 返回2019-02-19 11:41:32 SELECT LOCALTIME(); -- 本地时间 SELECT SYSDATE(); -- 系统时间 -- 提取年月日时分秒 SELECT YEAR(NOW()); SELECT MONTH(NOW()); SELECT DAY(NOW()); SELECT HOUR(NOW()); SELECT MINUTE(NOW()); SELECT SECOND(NOW());4.系统函数-- CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER()返回当前用户 SELECT USER(); -- DATABASE()返回当前数据库名 SELECT DATABASE(); -- VERSION()返回数据库的版本号 SELECT VERSION();参考资料MySQL 5.7 参考手册12.6 数值函数和运算符12.8 字符串函数和运算符12.7 日期和时间函数MySQL常用函数大全(总结篇)
2022年01月13日
615 阅读
0 评论
0 点赞
2022-01-13
MySQL学习:SQL关联查询的七种JOIN
1.图示2.案例2.0 准备数据以一个简易问答系统为例,包括问题表和问题所属标签,问题表如下:CREATE TABLE `t_qa` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(200) NOT NULL DEFAULT '' COMMENT '标题', `answer_count` int(5) unsigned NOT NULL DEFAULT '0' COMMENT '回答个数', `label_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '标签id', `create_by` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '创建人', `create_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间', `update_by` bigint(20) unsigned DEFAULT NULL COMMENT '更新人', `update_date` datetime DEFAULT NULL COMMENT '更新时间', `del_flag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0:不删除,1:删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `t_qa` (`id`, `title`, `answer_count`, `label_id`, `create_by`, `create_date`, `update_by`, `update_date`, `del_flag`) VALUES (1, 'Java是什么?', 5, 1, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (2, 'PHP是什么?', 4, 2, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (3, '前端是什么?', 3, 3, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (4, 'nodejs是什么?', 2, 0, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (5, 'css是什么?', 1, 0, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (6, 'JavaScript是什么?', 0, 0, 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0);标签表如下:CREATE TABLE `t_label` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '' COMMENT '名称', `create_by` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '创建人', `create_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间', `update_by` bigint(20) unsigned DEFAULT NULL COMMENT '更新人', `update_date` datetime DEFAULT NULL COMMENT '更新时间', `del_flag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0:不删除,1:删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `t_label` (`id`, `name`, `create_by`, `create_date`, `update_by`, `update_date`, `del_flag`) VALUES (1, 'java', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (2, 'php', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (3, '大前端', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (4, 'mybatis', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (5, 'python', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0), (6, '多线程', 0, '2017-08-24 17:43:53', 0, '2017-08-24 17:43:53', 0);2.1 左连接(LEFT JOIN)问题回答个数标签id标签名称Java是什么?51javaPHP是什么?42php前端是什么?33大前端nodejs是什么?2NULLNULLcss是什么?1NULLNULLJavaScript是什么?1NULLNULLSELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id2.2 右连接(RIGHT JOIN)问题回答个数标签id标签名称Java是什么?51javaPHP是什么?42php前端是什么?33大前端NULLNULL4mybatisNULLNULL5pythonNULLNULL6多线程SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id2.3 内连接(INNER JOIN)问题回答个数标签id标签名称Java是什么?51javaPHP是什么?42php前端是什么?33大前端SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq INNER JOIN t_label tl ON tq.label_id = tl.id2.4 左独有连接(LEFT JOIN)问题回答个数标签id标签名称nodejs是什么?2NULLNULLcss是什么?1NULLNULLJavaScript是什么?0NULLNULLSELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id WHERE tl.id IS NULL2.5 右独有连接(RIGHT JOIN)问题回答个数标签id标签名称NULLNULL4mybatisNULLNULL5pythonNULLNULL6多线程SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id WHERE tq.label_id IS NULL2.6 全连接(FULL JOIN)由于MySQL不支持FULL OUTER JOIN,所以如果有全连接需求时,可用表达式:full outer join = left outer join UNION right outer join来实现。问题回答个数标签id标签名称Java是什么?51javaPHP是什么?42php前端是什么?33大前端nodejs是什么?2NULLNULLcss是什么?1NULLNULLJavaScript是什么?0NULLNULLNULLNULL4mybatisNULLNULL5pythonNULLNULL6多线程SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id UNION SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id 2.7 全连接去交集(FULL JOIN)问题回答个数标签id标签名称nodejs是什么?2NULLNULLcss是什么?1NULLNULLJavaScript是什么?0NULLNULLNULLNULL4mybatisNULLNULL5pythonNULLNULL6多线程SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq LEFT JOIN t_label tl ON tq.label_id = tl.id WHERE tl.id IS NULL UNION SELECT tq.title, tq.answer_count, tl.id, tl.name FROM t_qa tq RIGHT JOIN t_label tl ON tq.label_id = tl.id WHERE tq.label_id IS NULL参考资料一张图看懂 SQL 的各种 JOIN 用法SQL七种JOIN解析【MySQL笔记】七种JOIN的SQL
2022年01月13日
865 阅读
0 评论
0 点赞