随笔分类 -  SQL学习

1
摘要:在mysql中,round函数用于数据的四舍五入,它有两种形式: 1、round(x,d) ,x指要处理的数,d是指保留几位小数 这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0; 2、round(x) ,其实就是round(x,0),也就是默认d为0; 阅读全文
posted @ 2021-11-19 17:02 felix-qin 阅读(1365) 评论(0) 推荐(0)
摘要:在对表格进行合并之后,SQLite可以直接对合并的表格进行group by操作,得到想要的效果 而MySQL却不可以,会出现意想不到的效果,mysql进行这类操作时,需要我们把任务拆分,使用where来实现 where语句可以包含多个变量,不是必须一次运行一个 阅读全文
posted @ 2021-11-13 14:27 felix-qin 阅读(242) 评论(0) 推荐(0)
摘要:AVG() 函数 AVG() 函数返回数值列的平均值。 SELECT AVG(column_name) FROM table_name if() 函数 if(a,b,c) if判断,如果a满足条件,返回b,否则返回c,类似于C语言的 (? :())组合 AVG() 函数和if()函数的组合使用 av 阅读全文
posted @ 2021-11-13 13:26 felix-qin 阅读(1787) 评论(0) 推荐(0)
摘要:窗口函数 1.1 什么是窗口函数 窗口函数:窗口类似于窗户,限定了一个空间范围,在数据库当中可以理解为记录集合,每一条记录都会在窗口中计算一个值出来 函数的基本用法: 函数名([expr]) over子句函数() over() 其中over是关键字,用来指定函数执行的窗口范围,包含三个分析子句: 分 阅读全文
posted @ 2021-11-11 19:19 felix-qin 阅读(122) 评论(0) 推荐(0)
摘要:CASE语法: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionN THEN resultN ELSE resultEND; 后面可以加 as xxx 阅读全文
posted @ 2021-11-04 21:17 felix-qin 阅读(48) 评论(0) 推荐(0)
摘要:EXIST: 1.当从表比主表大时,EXISTS查询的效率较高 2.exists是先从主查询中取得一条数据,再代入到子查询中,执行一次子查询,判断子查询是否能返回结果,主查询有多少条数据,子查询就要执行多少次 例如: SELECT * FROM employees WHERE NOT EXISTS 阅读全文
posted @ 2021-11-03 21:51 felix-qin 阅读(174) 评论(0) 推荐(0)
摘要:方法一:利用 LIMIT 和 OFFSET 关键字 .... LIMIT x OFFSET y LIMIT 后的数字x代表返回几条记录 OFFSET 后的数字y代表从第几条记录开始返回(第一条记录序号为0),也可理解为跳过多少条记录后开始返回 例如: SELECT * FROM employees 阅读全文
posted @ 2021-11-03 20:41 felix-qin 阅读(58) 评论(0) 推荐(0)
摘要:聚合函数group_concat(X,Y) X:要连接的字段 Y:连接时用的符号,可省略,默认为逗号 例如: SELECT dept_no,group_concat(emp_no) employees FROM dept_emp group BY dept_no 注意:此函数必须与 GROUP BY 阅读全文
posted @ 2021-11-03 20:25 felix-qin 阅读(106) 评论(0) 推荐(0)
摘要:substr(string,start,length) string - 指定的要截取的字符串。start - 必需,规定在字符串的何处开始。正数 - 在字符串的指定位置开始,负数 - 在从字符串结尾的指定位置开始,0 - 在字符串中的第一个字符处开始。length - 可选,指定要截取的字符串长度 阅读全文
posted @ 2021-11-03 20:08 felix-qin 阅读(2216) 评论(0) 推荐(0)
摘要:不匹配检查: 两种表示方式: <> != 空值检查: is null 阅读全文
posted @ 2021-10-27 13:36 felix-qin 阅读(82) 评论(0) 推荐(0)
摘要:LIMIT语句 limit放在程序末尾 LIMIT 5 表示返回不多于5行 LIMIT 5,5 表示返回从行5开始的 5行 阅读全文
posted @ 2021-10-27 13:31 felix-qin 阅读(73) 评论(0) 推荐(0)
摘要:SHOW DATABASES 返回可用数据库的一个列表。包含在这个列表里的是MySQL内部使用的数据库 SHOW TABLES 返回当前数据库内可用表的列表 SHOW COLUMNS FROM (表名) 每个字段返回一行,行中包含字段名,数据类型,是否允许null,键信息,默认值以及其他信息 SHO 阅读全文
posted @ 2021-10-27 10:59 felix-qin 阅读(36) 评论(0) 推荐(0)
摘要:主键 - 一列(或一组列),其值能够唯一区分表中的每一行。 应该总是设置主键 - 虽然并不总是都需要主键,但是大多数数据库设计人员都应该保证他们创建的每个表具有一个主键,以便于以后的数据操控和管理。 SQL - Structured Query Language 阅读全文
posted @ 2021-10-27 10:29 felix-qin 阅读(57) 评论(0) 推荐(0)
摘要:1. replace("10,A,B",",","")) "10,A,B"代表了要操作的字符串 ","代表要被替换的字符串内容是, " "代表将","替换成""(null) 2.length(replace("10,A,B",",","")) 表示的是括号内字符串的长度 阅读全文
posted @ 2021-10-26 20:31 felix-qin 阅读(63) 评论(0) 推荐(0)
摘要:SQLite: select (last_name||"'"||first_name)from employees MySQL: SELECT CONCAT(last_name,"'",first_name) FROM employees 阅读全文
posted @ 2021-10-26 19:20 felix-qin 阅读(65) 评论(0) 推荐(0)
摘要:mysql中修改表信息的规则: alter table 表名 change 原列名 新列名 类型; --修改表的列属性 alter table 表名 modify 列名 类型 ; --修改表的类类型 alter table 表名 drop 列名; --删除表的某一列 alter table 表名 a 阅读全文
posted @ 2021-10-26 18:54 felix-qin 阅读(97) 评论(0) 推荐(0)
摘要:UPDATE 描述:将所有to_date为9999-01-01的全部更新为NULL,且 from_date更新为2001-01-01。 语法: UPDATE titles_test SET to_date = NULL, from_date = '2001-01-01' WHERE to_date 阅读全文
posted @ 2021-10-26 18:43 felix-qin 阅读(33) 评论(0) 推荐(0)
摘要:题目描述: 删除emp_no重复的记录,只保留最小的id对应的记录。CREATE TABLE IF NOT EXISTS titles_test (id int(11) not null primary key,emp_no int(11) NOT NULL,title varchar(50) NO 阅读全文
posted @ 2021-10-26 16:56 felix-qin 阅读(147) 评论(0) 推荐(0)
摘要:1.字段完全相同,可使用natural join 2.使用两次left join 3.使用一次left join(where代替join) 阅读全文
posted @ 2021-10-18 15:36 felix-qin 阅读(698) 评论(0) 推荐(0)
摘要:一、Select&From #查询语句 不会改变原数据 Sqlzoo例题一: SELECT population FROM world (语法:population表示的是列名,world表示的是表名) Sqlzoo例题二: SELECT name as 名称, population as人口数 F 阅读全文
posted @ 2021-09-28 16:32 felix-qin 阅读(46) 评论(0) 推荐(0)

1