mysql
m0_46093829
这个作者很懒,什么都没留下…
展开
-
sql-中关于null的四则运算、比较运算、逻辑运算
一、mysql中关于null的四则运算所有包含Null的四则运算,结果肯定都是Null二、mysql中关于null的比较运算例:有表如下:现做如下查询:因为在sql中,真值除了真假之外还有第三种--不确定 (UNKNOWN)。上述和空比较出来的结果,返回的就是unkown三、mysql中关于null的逻辑运算在sql中,真值除了真假之外还有第三种--不确定 (UNKNOWN)...原创 2021-06-25 07:49:31 · 2220 阅读 · 0 评论 -
mysql中any、all、some、in的区别
https://www.cnblogs.com/HDK2016/p/8578587.html其中:any 可以与=、>、>=、<、<=、<>结合起来使用,分别表示 只要等于、大于、大于等于、小于、小于等于、不等于 其中的任何一个数据就可以all可以与=、>、>=、<、<=、<>结合是来使用,分别表示 必须等于、大于、大于等于、小于、小于等于、不等 其中的所有数据才可以。例1select s1 f...转载 2021-06-24 21:08:33 · 369 阅读 · 0 评论 -
mysql-lead()函数和lag()函数
一、LEAD(expr[,N[,default]]over(partition by order by )功能:会返回分区内当前行后边N行的字段值,如果没有这样的行,会返回你设置的default(如果N和default省略了,则默认为 1和null)注意:①N必须是一个非负整数,如果N=0,expr是当前行的字段值②从mysql8.0.22开始,N不能为空,且必须是1-2^63的整数(可以是变量)二、LAG(expr[,N[,default]])over(part...原创 2021-06-07 07:53:42 · 1844 阅读 · 0 评论 -
mysql-power()求次方,sqrt()开根号
The POWER() function returns the value of a number raised to the power of another number.Note:This function is equal to thePOW()function.原创 2021-06-06 19:48:19 · 1257 阅读 · 0 评论 -
mysql-连接查询
连sql99【推荐使用】 内连接 等值 非等值 自连接 外连接 左外 右外 全外(mysql不支持) 交叉连接原创 2021-06-06 19:34:57 · 53 阅读 · 0 评论 -
mysql-case...when的用法,着重举出在case...when中再加查询的例子
mysql中case 要判断的字段或表达式when 常量1 then 要显示的值1或语句1;when 常量2 then 要显示的值2或语句2;...else 要显示的值n或语句n;end原创 2021-06-04 10:43:37 · 2241 阅读 · 0 评论 -
mysql_联合查询union和union all 应用
一、用于表格转换目前我的理解时,如果想要将多列表竖着揪下去,一行变多行。那此时需要重新查询整个表,并添加新列,你看新列中内容的添加方法和原列中内容加入新列的方法如下原表如下请你重构 Products 表,查询每个产品在不同商店的价格,使得输出的格式变为(product_id, store, price) 。如果这一产品在商店里没有出售,则不输出这一行。输出结果表中的顺序不作要求。查询输出格式请参考下面示例。Products table:+------------+---.原创 2021-06-01 09:06:10 · 107 阅读 · 0 评论 -
mysql-分组筛选时,用case.......when 来选择什么时候要进行联结查询
一个员工可以属于多个部门。当一个员工加入超过一个部门的时候,他需要决定哪个部门是他的直属部门。请注意,当员工只加入一个部门的时候,那这个部门将默认为他的直属部门,虽然表记录的值为'N'.请编写一段SQL,查出员工所属的直属部门。返回结果没有顺序要求。示例:Employee table:+-------------+---------------+--------------+| employee_id | department_id | primary_flag |+-..原创 2021-05-31 19:55:45 · 216 阅读 · 0 评论 -
mysql-length(),char_length()
一、函数说明1. length()和char_length()两个函数的计数单位不同2.语法 LENGTH(str) 计算单位:字节,一个多字节字符算作多个字节。(utf8编码:一个汉字三个字节,一个数字或字母一个字节。gbk编码:一个汉字两个字节,一个数字或字母一个字节。) CHAR_LENGTH(str) 计算单位:字符,一个多字节字符算作一个字符。即:对于包含5个3字节字符的字符串,LENGTH()返回15,而CHAR_LENGTH()返...原创 2021-05-31 08:09:46 · 184 阅读 · 0 评论 -
mysql-substr(),substring()
SUBSTR(str,pos),SUBSTR(strFROMpos),SUBSTR(str,pos,len),SUBSTR(strFROMposFORlen) SUBSTR()is a synonym forSUBSTRING(). SUBSTRING(str,pos),SUBSTRING(strFROMpos),SUBSTRING(str,pos,len),SUBSTRING(strFROMposFORlen) The forms wi...原创 2021-05-31 06:31:44 · 1857 阅读 · 0 评论 -
mysql-典型的一张表内加减,常规解法:自连接
现在有一个工厂网站由几台机器运行,每台机器上运行着相同数量的进程. 请写出一条SQL计算每台机器各自完成一个进程任务的平均耗时.完成一个进程任务的时间指进程的'end' 时间戳 减去'start' 时间戳. 平均耗时通过计算每台机器上所有进程任务的总耗费时间除以机器上的总进程数量获得.结果表必须包含machine_id(机器ID) 和对应的average time(平均耗时)别名processing_time, 且四舍五入保留3位小数.具体参考例子如下:Activity ta...原创 2021-05-30 20:44:15 · 330 阅读 · 0 评论 -
mysql-关于分组后用别名的尝试 以及lower(),trim(),replace()
mysql 分组后不能用别名,因为在执行group by 的时候,还没有执行到select 中的别名呢MySQL提供了一个非常有用的名称为TRIM()的字符串函数,以帮助您清理数据。下面说明了TRIM()函数的语法。TRIM([{BOTH|LEADING|TRAILING} [removed_str]] FROM str);SQLTRIM函数提供了许多选项您可以使用LEADING,TRAILING或BOTH选项明确指示TRIM()函数从字符串中删除前导,尾随或前导和...原创 2021-05-28 20:41:26 · 1359 阅读 · 0 评论 -
mysql-正则表达式regexp
正则模式可应用于regexp的操作符描述 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。 . 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用像 '[.\n]' 的模式。 [...] 字符集合。匹配所包含原创 2021-05-28 10:24:07 · 1195 阅读 · 0 评论 -
mysql-三表连接及在having 中判断两个单个字段同时满足条件(6月和7月的消费均大于100美元)
写一个 SQL 语句, 报告消费者的 id 和名字,其中消费者在 2020 年 6 月和 7 月,每月至少花费了$100.结果表无顺序要求.查询结果格式如下例所示.Customers+--------------+-----------+-------------+| customer_id | name | country |+--------------+-----------+-------------+| 1 | Winston ...原创 2021-05-27 20:24:28 · 684 阅读 · 0 评论 -
mysql--group_concat()
转自:https://www.geeksforgeeks.org/mysql-group_concat-function/一、GROUP_CONCAT()函数GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成。1、使用语法及特点:SELECT col1, col2, ..., colNGROUP_CONCAT ( [DISTINCT] col_name1 [ORDER BY clause] [SEPARATOR str_val] ) FROM tab.转载 2021-05-27 09:43:27 · 108 阅读 · 0 评论 -
mysql_联合查询union和union all 概念
大部分参考:https://www.cnblogs.com/zhangminghui/p/4408546.html一、union和union all的概念mysqlunion/union all 用于把来自多个SELECT语句的结果组合到一个结果集合中。语法为:SELECT column,... FROM table1 UNION [ALL]SELECT column,... FROM table2...在多个 SELECT 语句中,对应的列应该具有相同的字段属性,且第一个...转载 2021-05-27 08:05:39 · 280 阅读 · 0 评论 -
mysql_ifnull()和coalesce()的使用技巧
https://www.cnblogs.com/east7/p/11706740.html转载 2021-05-26 20:57:13 · 161 阅读 · 0 评论 -
mysql-日期函数-DATE_FORMAT()
DATE_FORMAT()returns a string with a character set and collation given bycharacter_set_connectionandcollation_connectionso that it can return month and weekday names containing non-ASCII characters.mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00'...原创 2021-05-26 16:58:30 · 531 阅读 · 0 评论 -
mysql order by 多个字段及其多字段排序原则,和 order by 后跟数字
一、order by 后跟数字select * from table order by nn 表示select里面的第n个字段,整段sql的意义是:查询出来的结果,按照第N个字段排序二、order by 多个字段order by 后面可以跟多个字段进行排序用A1代表第一个字段,A2代表第二个字段1、order by A1 asc , A2 desc 指的是用A1升序,A2降序2、order by A1 desc, A2 desc 指的是用A1降序,A2降序...原创 2021-05-26 16:36:46 · 20914 阅读 · 0 评论 -
查询时候,用case when生成新列,可在end 后为该列取别名
查询时候,用case when生成新列,可在end 后为该列取别名写一段 SQL 来找到表中每个国家在 2019 年 11 月的天气类型。天气类型的定义如下:当 weather_state 的平均值小于或等于15返回 Cold,当 weather_state 的平均值大于或等于 25 返回 Hot,否则返回Warm。你可以以任意顺序返回你的查询结果。查询结果格式如下所示:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/weathe.原创 2021-05-26 20:53:37 · 1124 阅读 · 1 评论 -
mySQL-count函数的用法
记录count(*)和count(字段)的用法其中:count(字段):统计该字段非空值的个数count(*):统计结果集的行数创建如下表则在分别运行count(*),和count(字段)后,结果如下可以看到,count(*)记录的就是该表中的行数,这些行是否有空值并不管而count(字段)记录的是该表中的非空行数,如果全空,计数值为0...原创 2021-05-26 20:51:39 · 149 阅读 · 0 评论 -
mysql- 日期函数-date_sub()和date_add
DATE_ADD(date,INTERVALexprunit),DATE_SUB(date,INTERVALexprunit)These functions perform date arithmetic. Thedateargument specifies the starting date or datetime value.expris an expression specifying the interval value to be added or subtracted ...原创 2021-05-23 19:27:47 · 157 阅读 · 0 评论 -
mysql-查询日期在一个时间段的两种方法
1、直接用between and2、可以用>,< 来对日期进行比较例子编写一个SQL查询,报告2019年春季才售出的产品。即仅在2019-01-01至2019-03-31(含)之间出售的商品。查询结果格式如下所示:Product table:+------------+--------------+------------+| product_id | product_name | unit_price |+------------+--------------+---原创 2021-05-23 06:23:51 · 2555 阅读 · 0 评论 -
关于count(),sum(),avg(),max(),min()需要注意的一些地方及count(),avg(),sum(),max().min()对于null的处理
摘自https://www.liaoxuefeng.com/wiki/1177760294764384/1179611448454560关于聚合函数,要特别注意:1.MAX()和MIN()函数并不限于数值类型。如果是字符类型,MAX()和MIN()会返回排序最后和排序最前的字符。2. 如果聚合查询的WHERE条件没有匹配到任何行,COUNT()会返回0,而SUM()、AVG()、MAX()和MIN()会返回NULL:...原创 2021-05-21 10:33:46 · 570 阅读 · 0 评论 -
MySQL 中判断字符串是否相等
感谢:https://blog.csdn.net/yangfengjueqi/article/details/72821603mysql 中判断两个字符串是否相等可以用 <=>或者 =例但是需要注意<=>,和= 是有区别的当判断是都为空的时候,有如下结果是因为 null值是没有意义的,因此当某一方为null 时,运算符 ‘=’ 和‘<>'都不将null作为有效的结果,因此只能采用 <=>null的党法判断此外 判nu..转载 2021-05-21 10:19:34 · 13572 阅读 · 0 评论 -
当计数最大值有多个的时候 可采用窗口函数,>=all,还有自己建立序号变量来排序 三种方法
#法1select a.project_idfrom(select project_id,dense_rank() over(order by count(employee_id) desc) rfrom projectgroup by project_id) awhere r=1#法2:不开窗,求所有count()>=allselect project_idfrom Projectgroup by project_idhaving count(employee_id...原创 2021-05-21 08:10:46 · 141 阅读 · 0 评论 -
sql_外键
一、外键的定义1. 外键是一种索引,是通过一张表中的一列指向另一张表的主键,使得这两张表产生关联2. 是某个表中的一列,它包含在另一个表的主键中3. 一张表中可以有一个外键也可以有多个外键二、外键的作用减少单张表的冗余信息三、使用外键后想要删除/更新主表的相关列会报错,因为从表正在使用。使用外键后若想向从表中插入新列,但是外键值主表中没有,会报错,更新从表的外键值,但是值不在从表中会报错。四、如何创建外键法1:创建表的时候添加外键CONSTRAINT 约束名 FO.原创 2021-05-21 05:58:32 · 7577 阅读 · 0 评论 -
sql-创建复合主键
一、说明:1、数据库的每张表只能有一个主键,不可能有多个主键。2、所谓的一张表多个主键,我们称之为复合主键(联合主键)。 注:联合主键:就是用多个字段一起作为一张表的主键。二、创建复合主键(联合主键)有两种方法:法1:创建表是 创建复合主键Create Table 表名 (字段名1 字段类型 【Not Null】, 字段名2 字段类型 【Not Null】, Primary Key (字...原创 2021-05-20 08:34:53 · 14146 阅读 · 0 评论 -
sql-DML-修改表中记录
一、修改单表记录update 表明 set 字段=值,字段=值【where 筛选条件】例子CREATE TABLE IF NOT EXISTS salary(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(2),sex VARCHAR(1),salary INT)INSERT INTO `salary` (`name`,`sex`,`salary`) VALUES('a','m',2500),('b','f',2500),('c'.原创 2021-05-19 19:47:16 · 128 阅读 · 0 评论 -
关于筛选条件中用位运算的一个小疑问
法3,大神在筛选的时候用位与运算,我不是很懂,我能理解 位运算 ,奇数和1做&操作得到1,偶数和1做&操作得到0。但是大神的代码中并没有对结果是1,还是0 进行限制呀?难道是默认是1?select *from cinemawhere description<>'boring'and id&1 #这里并没有对结果是0,还是1进行限制呀?order by rating desc...原创 2021-05-19 10:43:53 · 96 阅读 · 0 评论 -
sql 空表 查询最大值,求和,计数的返回情况
sql 空表计数对于一个空表1. 运行max( )时:select max(num)from my_numbers返回的结果是null2.运行sum( )时,返回的结果是nullSELECT SUM(num)FROM mynumbers3.运行count(num),countt(*)时,返回的结果是0SELECT count(num)FROM mynumbers4..分组后再计数,返回如下5. 分组后再求和,返回如下6.分组后再求最大值.原创 2021-05-19 10:18:29 · 669 阅读 · 0 评论 -
mysql- 窗口函数和 in筛选的两个错误
一、窗口函数错误分析就是这个窗口函数,你看我在这个题里运行起来就没问题但是在上边这个题目中,如果我也用窗口函数,我这样写就有错误,改为下图方法:然后我在想错在哪里了呢?是不是因为我用那个 select row_number( )......(后边的程序我就不写了) 创建了一个新表,里面包含了新列 rn。但是activity中没有rn 这一列,所以我必须再在这个新表上重新查询一次。二:用in 的时候两个筛选#请编写一个 SQL 查询,描述每一个玩家首次登陆的设备名称原创 2021-05-05 18:43:42 · 1178 阅读 · 0 评论 -
mysql-窗口函数
窗口函数:窗口函数:1.对一组查询行执行类似聚合的操作。但是,虽然聚合操作将查询行分组为单个结果行,但是窗口函数会为每个查询行生成结果:2.仅在选择列表和ORDER BY子句中允许使用窗口函数。3.要使用窗口函数(或将聚合函数视为窗口函数),请OVER在函数调用之后添加一个子句。该OVER子句有两种形式:over_clause: {OVER (window_spec) | OVER window_name}例表:mysql> SELECT * FROM...原创 2021-05-03 12:11:50 · 334 阅读 · 0 评论 -
mysql-rank(),row_number(),dense_rank(),之间的差别
mysql> SELECT val, ROW_NUMBER() OVER w AS 'row_number', RANK() OVER w AS 'rank', DENSE_RANK() OVER w AS 'dense_rank' FROM numbers WINDOW w AS (ORDER BY val);+------+------------+------+----------.原创 2021-05-03 13:56:52 · 82 阅读 · 0 评论