习题

1.Homework01

(1)	D -- 没有在别名上加引号(ps:别名的as可以省略)
(2) B -- 判断null或非空不能用不等于号
(3) C

2.Homework02

  1. 写出查看dept表和emp表的结构的sql语句

  2. 使用简单查询语句完成

    1. 显示所有部门名称
    2. 显示所有雇员名及其全年收入 13月(工资+补助),并指定列别名“年收入”
  3. 限制查询数据

    1. 显示工资超过2850的雇员的姓名和工资
    2. 显示工资不在1500到2850之间的员工名和工资
    3. 显示编号为7566的雇员姓名及所在的部门编号
    4. 显示部门10和30中工资超过1500的员工名及工资
    5. 显示无管理者的雇员名及岗位
  4. 排序数据

    1. 显示在1991-2-1到1991-5-1之间雇用的员工名,岗位以及雇用日期,并以雇用日期进行排序
    2. 显示获得补助的所有员工名,工资以及补助,并以工资降序进行排序

练习

-- 2.写出查看dept表和emp表的结构的sql语句
DESC dept;
DESC emp; -- 3.使用简单查询语句完成
-- 3.1 显示所有部门名称
SELECT dname FROM dept;
-- 3.2 显示所有雇员名及其全年收入 13月(工资+补助),并指定列别名“年收入”
SELECT ename,(sal+IFNULL(comm ,0.0))*13 AS '年收入' FROM emp; -- 4.限制查询数据
-- 4.1显示工资超过2850的雇员的姓名和工资
SELECT ename,sal FROM emp
WHERE sal>2850;
-- 4.2显示工资不在1500到2850之间的员工名和工资
SELECT ename,sal FROM emp
WHERE sal>2850 OR sal<1500;
-- 4.3显示编号为7566的雇员姓名及所在的部门编号
SELECT ename,deptno FROM emp
WHERE empno=7566;
-- 4.4显示部门10和30中工资超过1500的员工名及工资
SELECT ename,sal FROM emp
WHERE deptno IN (10,30) AND sal >1500;
-- 4.5显示无管理者的雇员名及岗位
SELECT ename,job FROM emp
WHERE mgr IS NULL; -- 5.排序数据
-- 5.1显示在1991-2-1到1991-5-1之间雇用的员工名,岗位以及雇用日期,
-- 并以雇用日期进行排序
SELECT ename,job,hiredate FROM emp
WHERE hiredate>='1991-02-01' AND hiredate<='1991-05-01'
ORDER BY hiredate;
-- 显示获得补助的所有员工名,工资以及补助,并以工资降序进行排序
SELECT ename,sal,comm FROM emp
WHERE comm IS NOT NULL
ORDER BY sal DESC;

3.Homework03

根据emp表写出正确的sql

  1. 选择部门30中的所有员工
  2. 列出所有办事员(CLERK)的姓名,编号和部门编号
  3. 找出佣金高于薪金的员工
  4. 找出佣金高于薪金60%的员工
  5. 找出部门10中所有经理(MANAGER)和部门20中的所有办事员(CLERK)的详细资料
  6. 找出部门10中所有经理(MANAGER),部门20中的所有办事员(CLERK),还有既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料
  7. 找出收取佣金的员工的不同工作
  8. 找出不收取佣金或收取佣金低于100的员工
  9. 找出各月倒数第三天受雇的所有员工
  10. 找出早于12年前受雇的员工
  11. 以首字母小写的方式显示所有员工的姓名
  12. 显示正好为5个字符的员工的姓名

练习

SELECT * FROM emp;
-- 1. 选择部门30中的所有员工
SELECT * FROM emp
WHERE deptno = 30; -- 2. 列出所有办事员(CLERK)的姓名,编号和部门编号
SELECT ename,empno,deptno FROM emp
WHERE job = 'CLERK'; -- 3. 找出佣金高于薪金的员工
SELECT ename FROM emp
WHERE IFNULL(comm,0)>sal; -- 4. 找出佣金高于薪金60%的员工
SELECT ename FROM emp
WHERE IFNULL(comm,0)>(sal*0.6); -- 5. 找出部门10中所有经理(MANAGER)和部门20中的所有办事员(CLERK)的详细资料
SELECT * FROM emp
WHERE (deptno = 10 AND job= 'MANAGER')OR
(deptno = 20 AND job= 'CLERK'); -- 6. 找出部门10中所有经理(MANAGER),部门20中的所有办事员(CLERK),
-- 还有既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料
SELECT * FROM emp
WHERE (deptno = 10 AND job= 'MANAGER')OR
(deptno = 20 AND job= 'CLERK')OR
(job NOT IN ('MANAGER','CLERK') AND sal>=2000); -- 7. 找出收取佣金的员工的不同工作
SELECT DISTINCT job FROM emp
WHERE comm IS NOT NULL; -- 8. 找出不收取佣金或收取佣金低于100的员工
SELECT ename FROM emp
WHERE comm IS NULL OR IFNULL(comm,0) <100; -- 9. 找出各月倒数第三天受雇的所有员工
-- 关于最后一天 last_day(日期)可以返回该日期所在月份的最后一天
SELECT * FROM emp
WHERE LAST_DAY(hiredate)-2 = hiredate; -- 10. 找出早于12年前受雇的员工
SELECT * FROM emp
WHERE hiredate < DATE_SUB(NOW(),INTERVAL 12 YEAR); -- 11. 以首字母小写的方式显示所有员工的姓名
-- 先截取首字母,将其小写 LCASE (LEFT(ename,1))
-- 再截取剩下的字母 RIGHT(ename, (LENGTH(ename)-1))
-- 将两者拼起来 CONCAT
SELECT CONCAT(LCASE(LEFT(ename,1)),RIGHT(ename, (LENGTH(ename)-1))) FROM emp
-- 或者
SELECT CONCAT( LCASE(LEFT(ename,1)) ,SUBSTRING(ename,2)) FROM emp; -- 12. 显示正好为5个字符的员工的姓名
SELECT ename FROM emp
WHERE ename LIKE '_____';
-- 或者
SELECT ename FROM emp
WHERE LENGTH(ename)=5;

4.Homework04

根据emp员工表,写出正确的sql语句

  1. 显示不带有R的员工的姓名
  2. 显示所有员工姓名的前三个字符
  3. 显示所有员工的姓名,用a替换所有的A
  4. 显示满10年服务年限的员工的姓名和受雇日期
  5. 显示员工的详细资料,按姓名排序
  6. 显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面
  7. 显示所有的员工的姓名,工作和薪金,按工作降序排序,若工作相同则按薪金排除
  8. 显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面
  9. 显示在一个月为30天的情况所有员工的日薪金,忽略余数
  10. 找出在(任何年份的)2月受聘的所有员工
  11. 对于每个员工,显示其加入公司的天数
  12. 显示姓名字段的任何位置包含A的所有员工的姓名
  13. 以年月日的方式显示所有员工的服务年限(大概)

练习

-- 根据emp员工表,写出正确的sql语句
SELECT * FROM emp;
-- 13. 显示不带有R的员工的姓名
SELECT ename FROM emp
WHERE ename NOT LIKE '%R%'; -- 14. 显示所有员工姓名的前三个字符
SELECT LEFT(ename,3) FROM emp; -- 15. 显示所有员工的姓名,用a替换所有的A
SELECT REPLACE(ename,'A','a') FROM emp; -- 16. 显示满10年服务年限的员工的姓名和受雇日期
SELECT ename,hiredate FROM emp
WHERE (DATEDIFF(NOW(),hiredate)/365)>10; -- 17. 显示员工的详细资料,按姓名排序
SELECT * FROM emp
ORDER BY ename; -- 18. 显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面
SELECT ename,hiredate FROM emp
ORDER BY hiredate; -- 19. 显示所有的员工的姓名,工作和薪金,按工作降序排序,若工作相同则按薪金排序
SELECT ename,job,sal FROM emp
ORDER BY job DESC,sal; -- 20. 显示所有员工的姓名,加入公司的年份和月份,
-- 按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面
SELECT ename,CONCAT(YEAR(hiredate),'-',MONTH(hiredate))FROM emp
ORDER BY MONTH(hiredate),YEAR(hiredate); -- 21. 显示在一个月为30天的情况所有员工的日薪金,忽略余数
SELECT ename,FLOOR(sal/30) FROM emp
WHERE LAST_DAY(hiredate) LIKE '____-__-30'; -- 22. 找出在(任何年份的)2月受聘的所有员工
SELECT * FROM emp
WHERE hiredate LIKE '____-02-__'; -- 23. 对于每个员工,显示其加入公司的天数
SELECT ename,DATEDIFF(NOW(),hiredate) FROM emp; -- 24. 显示姓名字段的任何位置包含A的所有员工的姓名
SELECT ename FROM emp
WHERE ename LIKE '%A%'; -- 25. 以年月日的方式显示所有员工的服务年限(大概)
SELECT ename,
(DATEDIFF(NOW(),hiredate)-DATEDIFF(NOW(),hiredate)%365)/365 AS '年',
(DATEDIFF(NOW(),hiredate)%365-DATEDIFF(NOW(),hiredate)%365%31)/31 AS '月',
DATEDIFF(NOW(),hiredate)%31 AS '天'
FROM emp -- 或者
SELECT ename,
FLOOR((DATEDIFF(NOW(),hiredate)/365)) AS '年',
FLOOR(DATEDIFF(NOW(),hiredate)%365/31) AS '月',
DATEDIFF(NOW(),hiredate)%31 AS '天'
FROM emp

5.Homework05

根据emp员工表,dept部门表,工资=薪金+佣金,写出正确的sql

  1. 列出至少有一个员工的所有部门
  2. 列出薪金比Smith多的所有员工
  3. 列出受雇日期晚于其直接上级的所有员工
  4. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
  5. 列出所有CLERK(办事员)的姓名及其部门名称
  6. 列出最低薪金大于1500的各种工作
  7. 列出在部门SALES(销售部)工作的员工的姓名
  8. 列出薪金高于公司平均薪金的所有员工
-- 根据emp员工表,dept部门表,工资=薪金+佣金,写出正确的sql
SELECT * FROM emp;
SELECT * FROM dept;
SELECT * FROM salgrade; -- 1. 列出至少有一个员工的所有部门
SELECT DISTINCT dname FROM emp,dept
WHERE emp.deptno=dept.deptno;
-- 或者
SELECT COUNT(*) AS c ,deptno
FROM emp
GROUP BY deptno
HAVING c > 1; -- 2. 列出薪金比Smith多的所有员工
-- 先查出Smith的sal
-- 然后其他的员工的sal>smith.sal
SELECT ename FROM emp
WHERE sal>(SELECT sal FROM emp WHERE ename='SMITH'); -- 3. 列出受雇日期晚于其直接上级的所有员工
-- 先把emp表当做是两张表,worker , leader (自连接)
-- 条件1. emp.hiredate>d.hiredate 条件2.emp.mgr=d.empno
SELECT worker.ename AS '员工名',worker.hiredate AS '员工入职时间',
leader.ename AS '上级名',leader.hiredate AS '上级入职时间'
FROM emp AS worker, emp AS leader
WHERE worker.mgr=leader.empno AND worker.hiredate>leader.hiredate; -- 4. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门
-- 这里因为需要显示所有部门,需要使用外连接
SELECT dname,emp.* FROM emp RIGHT JOIN dept
ON emp.deptno=dept.deptno ; -- 5. 列出所有CLERK(办事员)的姓名及其部门名称
SELECT ename,dname FROM emp,dept
WHERE job='CLERK' AND emp.deptno=dept.deptno; -- 6. 列出最低薪金大于1500的各种工作
SELECT DISTINCT job FROM emp
WHERE job NOT IN
(SELECT job FROM emp
WHERE sal <1500);
-- 或者
-- 查询各个部门的最低工资
-- 使用having子句进行过滤
SELECT MIN(sal) AS min_sal ,job
FROM emp
GROUP BY job
HAVING min_sal > 1500; -- 7. 列出在部门SALES(销售部)工作的员工的姓名
SELECT ename FROM emp,dept
WHERE emp.deptno = dept.deptno AND dname = 'SALES'; -- 8. 列出薪金高于公司平均薪金的所有员工
SELECT ename FROM emp
WHERE sal>(SELECT AVG(sal) FROM emp)

6.Homework06

根据emp员工表,dept部门表,工资=薪金+佣金,写出正确的sql

  1. 列出与SCOTT从事相同工作的所有员工
  2. 列出薪金高于,在部门30工作的所有员工的薪金,的员工姓名和薪金
  3. 列出在每个部门工作的员工数量,平均工资和平均服务期限
  4. 列出所有员工的姓名,部门名称和工资
  5. 列出所有部门的详细信息和部门人数
  6. 列出各种工作的最低工资
  7. 列出MANAGER(经理)的最低薪金
  8. 列出所有员工的年工资,按年薪从低到高排序
SELECT * FROM emp;
SELECT * FROM dept;
SELECT * FROM salgrade; -- 1. 列出与SCOTT从事相同工作的所有员工
SELECT * FROM emp
WHERE job=(SELECT job FROM emp WHERE ename='SCOTT'); -- 2. 列出薪金高于,在部门30工作的所有员工的薪金,的员工姓名和薪金
-- 先查询出30号部门的最高工资
SELECT ename ,sal FROM emp
WHERE sal>(SELECT MAX(sal) FROM emp
WHERE deptno = 30) -- 3. 列出在每个部门工作的员工数量,平均工资和平均服务期限
SELECT COUNT(*) AS '员工数量',
deptno,
AVG(sal+IFNULL(comm,0)) AS '部门平均工资',
AVG(DATEDIFF(NOW(),hiredate)/365) AS '平均服务期限年'
FROM emp
GROUP BY deptno -- 4. 列出所有员工的姓名,部门名称和工资
SELECT ename,dname,sal+IFNULL(comm,0) FROM emp,dept
WHERE emp.deptno= dept.deptno -- 5. 列出所有部门的详细信息和部门人数
-- 先得到各个部门的平均人数
SELECT dept.*, `all`
FROM dept
LEFT JOIN
(SELECT COUNT(*) AS `all`,deptno
FROM emp
GROUP BY emp.deptno) AS temp
ON dept.deptno=temp.deptno -- 6. 列出各种工作的最低工资
SELECT job ,MIN(sal+IFNULL(comm,0))AS '最低工资' FROM emp
GROUP BY job; -- 7. 列出MANAGER(经理)的最低薪金
SELECT MIN(sal+IFNULL(comm,0))AS '最低工资' FROM emp
WHERE job= 'MANAGER'; -- 8. 列出所有员工的年工资,按年薪从低到高排序
SELECT ename,(sal+IFNULL(comm,0))*12 AS '年工资' FROM emp
ORDER BY (sal+IFNULL(comm,0));

7.Homework07

设学校环境如下:一个系有若干个专业,每一个专业一年只招一个班,每个班有若干个学生。先要建立关于系、学生和班级的数据库,关系模式为:

班CLASS (班号classid,专业名subject,系名deptname,入学年份enrolltime,人数num)

学生STUDENT(学号studentid,姓名name,年龄age,班号classid)

系DEPARTMENT(系号departmentid,系名deptname)

试用sql语言完成下面功能:

  1. 建表,在定义中要求声明:

    • 每个表的主外键
    • deptname是唯一约束
    • 学生姓名不能为空
  2. 插入如下数据

    DEPARTMENT(
    001,数学;
    002,计算机;
    003,计算机;
    004,计算机;
    005,计算机; )
    CLASS(
    101,软件,计算机,1995,20;
    102,微电子,计算机,1996,30;
    111,无机化学,化学,1995,29;
    112,高分子化学,化学,1996,25;
    121,统计数学,数学,1995,20;
    131,现代语言,中文,1996,20;
    141,国际贸易,经济,1997,30;
    142,国际金融,经济,1996,14;
    )
    STUDENT(
    8101,张三,18,101;
    8102,钱四,16,121;
    8103,王玲,17,131;
    8105,李飞,19,102;
    8109,赵四,18,141;
    8110,李可,20,142;
    8201,张飞,18,111;
    8302,周瑜,16,112;
    8203,王亮,17,111;
    8305,董庆,19,102;
    8409,赵龙,18,101;
    8510,李丽,20,142;
    )
  3. 完成以下查询功能

    1. 找出所有姓李的学生
    2. 列出所有开设超过1个专业的系的名字
    3. 列出人数大于等于30的系的编号和名字
  4. 学校又新增了一个物理系,编号为006

  5. 学生张三退学,请更新相关的表

-- 试用sql语言完成下面功能:

-- 1. 建表,在定义中要求声明:
-- - 每个表的主外键
-- - deptname是唯一约束
-- - 学生姓名不能为空 -- 系DEPARTMENT(系号departmentid,系名deptname)
CREATE TABLE DEPARTMENT(
departmentid VARCHAR(32) PRIMARY KEY,
deptname VARCHAR(32) UNIQUE NOT NULL
); -- 班CLASS (班号classid,专业名subject,系名deptname,入学年份enrolltime,人数num)
CREATE TABLE CLASS(
classid INT PRIMARY KEY,
`subject` VARCHAR(32) NOT NULL DEFAULT '',
deptname VARCHAR(32),
enrolltime INT NOT NULL DEFAULT 2000,
num INT NOT NULL DEFAULT 0,
FOREIGN KEY (deptname) REFERENCES DEPARTMENT(deptname)
); -- 学生STUDENT(学号studentid,姓名name,年龄age,班号classid)
CREATE TABLE hsp_STUDENT(
studentid INT PRIMARY KEY,
`name` VARCHAR(32) NOT NULL DEFAULT '',
age INT NOT NULL DEFAULT 0,
classid INT,
FOREIGN KEY (classid) REFERENCES CLASS(classid)
); -- 2. 插入如下数据
INSERT INTO DEPARTMENT VALUES('001','数学');
INSERT INTO DEPARTMENT VALUES('002','计算机');
INSERT INTO DEPARTMENT VALUES('003','化学');
INSERT INTO DEPARTMENT VALUES('004','中文');
INSERT INTO DEPARTMENT VALUES('005','经济'); INSERT INTO CLASS VALUES(101,'软件','计算机',1995,20);
INSERT INTO CLASS VALUES(102,'微电子','计算机',1996,30);
INSERT INTO CLASS VALUES(111,'无机化学','化学',1995,29);
INSERT INTO CLASS VALUES(112,'高分子化学','化学',1996,25);
INSERT INTO CLASS VALUES(121,'统计数学','数学',1995,20);
INSERT INTO CLASS VALUES(131,'现代语言','中文',1996,20);
INSERT INTO CLASS VALUES(141,'国际贸易','经济',1997,30);
INSERT INTO CLASS VALUES(142,'国际金融','经济',1996,14); INSERT INTO hsp_STUDENT VALUES(8101,'张三',18,101);
INSERT INTO hsp_STUDENT VALUES(8102,'钱四',16,121);
INSERT INTO hsp_STUDENT VALUES(8103,'王玲',17,131);
INSERT INTO hsp_STUDENT VALUES(8105,'李飞',19,102);
INSERT INTO hsp_STUDENT VALUES(8109,'赵四',18,141);
INSERT INTO hsp_STUDENT VALUES(8110,'李可',20,142);
INSERT INTO hsp_STUDENT VALUES(8201,'张飞',18,111);
INSERT INTO hsp_STUDENT VALUES(8302,'周瑜',16,112);
INSERT INTO hsp_STUDENT VALUES(8203,'王亮',17,111);
INSERT INTO hsp_STUDENT VALUES(8305,'董庆',19,102);
INSERT INTO hsp_STUDENT VALUES(8409,'赵龙',18,101);
INSERT INTO hsp_STUDENT VALUES(8510,'李丽',20,142); SELECT * FROM DEPARTMENT;
SELECT * FROM CLASS;
SELECT * FROM hsp_STUDENT; -- 3. 完成以下查询功能
-- 3.1 找出所有姓李的学生
SELECT * FROM hsp_STUDENT
WHERE `name` LIKE '李%'; -- 3.2 列出所有开设超过1个专业的系的名字
SELECT deptname,COUNT(*) AS nums FROM CLASS
GROUP BY deptname
HAVING nums > 1; -- 3.3 列出人数大于等于30的系的编号和名字 -- 先查出每个系有多少人
-- 将上面的结果看成是一个临时表,与DEPARTMENT表进行联合查询即可
SELECT temp.*,departmentid
FROM DEPARTMENT,
(SELECT SUM(num) AS nums,deptname
FROM CLASS
GROUP BY deptname
HAVING nums>=30) AS temp
WHERE DEPARTMENT.deptname=temp.deptname; -- 4. 学校又新增了一个物理系,编号为006
INSERT INTO department VALUES('006','物理系'); -- 5. 学生张三退学,请更新相关的表
-- 使用事务处理
START TRANSACTION ;
-- 5.1张三所在的班级人数要减1
UPDATE class SET num=num-1
WHERE classid =(
SELECT classid
FROM hsp_STUDENT
WHERE `name` = '张三'
);
-- 5.2将张三从学生表中删除
DELETE
FROM hsp_STUDENT
WHERE `name` = '张三';
-- 提交事务
COMMIT;

day10-习题的更多相关文章

  1. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录

        Sharepoint学习笔记—习题系列--70-576习题解析  为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是:     1. ...

  2. 《python核心编》程课后习题——第三章

    核心编程课后习题——第三章 3-1 由于Python是动态的,解释性的语言,对象的类型和内存都是运行时确定的,所以无需再使用之前对变量名和变量类型进行申明 3-2原因同上,Python的类型检查是在运 ...

  3. 习题 5: 更多的变量和打印 | 笨办法学 Python

    一. 简述 “格式化字符串(format string)” -  每一次你使用 ' ’ 或 " " 把一些文本引用起来,你就建立了一个字符串. 字符串是程序将信息展示给人的方式. ...

  4. 【WebGoat习题解析】Parameter Tampering->Bypass HTML Field Restrictions

    The form below uses HTML form field restrictions. In order to pass this lesson, submit the form with ...

  5. python核心编程(第二版)习题

    重新再看一遍python核心编程,把后面的习题都做一下.

  6. SQL简单语句总结习题

    创建一个表记员工个人信息: --创建一个表 create table plspl_company_info( empno ) not null, ename ) not null, job ), ma ...

  7. 《Python核心编程》部分代码习题实践(持续更新)

    第三章 3-10 交换异常处理方式 代码: #makeTextFile.py #!/usr/bin/env python 'makeTextFile.py' import os ls = os.lin ...

  8. web实验指导书和课后习题参考答案

    实验指导书 :http://course.baidu.com/view/daf55bd026fff705cc170add.html 课后习题参考答案:http://wenku.baidu.com/li ...

  9. 《C++primer》v5 第1章 开始 读书笔记 习题答案

    从今天开始在博客里写C++primer的文字.主要以后面的习题作业为主,会有必要的知识点补充. 本人也是菜鸟,可能有不对之处,还望指出. 前期内容可能会比较水. 1.1略 1.2略 1.3 cin和c ...

  10. Oracle数据库习题

    以下习题都已Oracle数据库中默认表为主体 1.列出至少有一个员工的所有部门. SELECT DISTINCT D.DNAME FROM EMP E,DEPT D WHERE E.DEPTNO=D. ...

随机推荐

  1. 2500-使用MyBatis操作MySQL进行批量更新的注意事项

    原则上一条SQL只更新一条数据库操作,但有时需要批量操作数据,特别是一些DML语句,在操作数据库时,数据库会报出异常,不允许混合语句,此时需要额外配置进行兼容. 例如: Caused by: com. ...

  2. MySQL客户端工具的使用与MySQL SQL语句

    MySQL客户端工具的使用 1.MySQL程序的组成 客户端 mysql:CLI交互式客户端程序 mycli:CLI交互式客户端程序;使用sql语句时会有提示信息 mysql_secure_insta ...

  3. YII 技巧

    大部分来源于  https://getyii.com/topic/47#comment24 获取当前Controller name和action name(在控制器里面使用) echo $this-& ...

  4. 企业级数据治理工作怎么开展?Datahub这样做

    大数据发展到今天,扮演了越来越重要的作用.数据可以为各种组织和企业提供关键决策的支持,也可以通过数据分析帮助发现更多的有价值的东西,如商机.风险等等. 在数据治理工作开展的时候,往往会有一个专门负责数 ...

  5. Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 目录 一.Prometheus 二.exporter ...

  6. 如果Controller里有私有的方法,能成功访问吗?

    目录 背景 原因 cglib代理的锅 换成JDK动态代理呢 参考 背景 写代码的时候,复制粘贴的时候,没注意到方法的属性,就导致了Controller里有了一个私有的方法,然后访问这个接口的时候就报了 ...

  7. Apache Dolphinscheduler 1.3.x 系列配置文件指南

    前言 本文档为dolphinscheduler配置文件指南,针对版本为 dolphinscheduler-1.3.x 版本. 考虑公众号对markdown文件格式支持不那么友好的问题,建议大家在PC端 ...

  8. 都说Dapper性能好,突然就遇到个坑,还是个性能问题

    本来闲来无事,准备看看Dapper扩展的源码学习学习其中的编程思想,同时整理一个自己代码的单元测试,为以后的进一步改进打下基础. 突然就发现问题了,源码也不看了,改了好久. 测试Dapper.Lite ...

  9. postgresql使用group by进行数据去重-2022新项目

    一.业务场景 数据去重是web开发中经常会遇到的方式之一,数据库操作中有一个关键字distinct主要就是用来做这件事,用来进行去重. 比如进行统计查询的时候,可以这样写 select count(d ...

  10. 来瞧瞧,WPF 炫酷走马灯!

    来瞧瞧,WPF 炫酷走马灯! 控件名:SpotLight 作者:WPFDevelopersOrg 原文链接: https://github.com/WPFDevelopersOrg/WPFDevelo ...