- 博客(12)
- 收藏
- 关注
原创 8个sql题
CREATE TABLE mytbl2(id INT primary key,NAME VARCHAR(16),age INT,dept INT);INSERT INTO mytbl2 VALUES(1,‘zhang3’,33,101);INSERT INTO mytbl2 VALUES(2,‘li4’,34,101);INSERT INTO mytbl2 VALUES(3,‘wang5’,34,102);INSERT INTO mytbl2 VALUES(4,‘zhao6’,34,102);I
2021-03-05 16:58:14
405
原创 力扣[177. 第N高的薪水]
CREATE TABLE Employee (Id INT(11) NOT NULL ,Salary VARCHAR(30) DEFAULT NULL,PRIMARY KEY (Id)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2021-02-26 17:37:16
120
转载 6种方案诠释MySQL通用查询策略
排名是数据库中的一个经典题目,实际上又根据排名的具体细节可分为3种场景:连续排名,例如薪水3000、2000、2000、1000排名结果为1-2-3-4,体现同薪不同名,排名类似于编号同薪同名但总排名不连续,例如同样的薪水分布,排名结果为1-2-2-4同薪同名且总排名连续,同样的薪水排名结果为1-2-2-3不同的应用场景可能需要不同的排名结果,也意味着不同的查询策略。本题的目标是实现第三种排名方式下的第N个结果,且是全局排名,不存在分组的问题,实际上还要相对简单一些。值得一提的是:在Oracle
2021-02-26 15:00:28
248
1
原创 力扣[176. 第二高的薪水]
[176. 第二高的薪水](https://leetcode-cn.com/problems/second-highest-sa难度简单SQL架构编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。方法一:使用子查询和 LIMIT 子句算法:将不同的薪资按降序排序,然后使用 LIMIT 子句获得第二高的薪资。然而,如果没有这样的第二最高
2021-02-26 14:45:20
114
原创 LIMIT与OFFSET与IFNULL的使用
LIMIT与OFFSET的使用limit 与 offset:从下标0开始 offset X 是跳过X个数据 limit Y 是选取Y个数据 limit X,Y 中X表示跳过X个数据,读取Y个数据 例如: select * from table limit 2,1; // 跳过2个数据,读取1个数据 常与order by使用:如, select distinct Salary from Employee orde
2021-02-26 14:04:19
409
原创 字节与字符的区别
字节与字符的区别字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。字符(Character)计算机中使用的字母、数字、字和符号,比如’A’、‘B’、’$’、’&'等。一般在英文状态下一个字母或字符占用一个字节,一个汉字用两个字节表示。字节与字符:ASCII 码中,一个英文字母(不分大小写)为一个字节,一个中文汉字为两个字节。UTF-8 编码中,一个英文字为一个字节,一个中文为三个字节。Unicode 编码中,一个英文为
2021-02-17 17:36:48
572
原创 sql中exists,not exists的用法
sql中exists,not exists的用法oracle中的exists 和not exists 用法详解有两个简单例子,以说明 “exists”和“in”的效率问题select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。select * from T1 where T1.a in (select T2.a from T2) ;
2021-02-10 11:19:56
2458
原创 SQL常见的一些面试题
SQL常见的一些面试题原文链接:https://www.cnblogs.com/diffrent/p/8854995.htmlCREATE TABLE test1(id int(5),name varchar(20),subject varchar(20),score int(10),primary key(id));INSERT INTO `test`.`test1`(`id`, `name`, `subject`, `score`) VALUES (1, '张三', '语文', 81
2021-02-08 15:49:05
229
原创 mysql之group_concat函数详解
mysql之group_concat函数详解函数语法:group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’] )下面举例说明:select id,price from goods; 以id分组,把price字段的值在同一行打印出来,逗号分隔(默认)select id, group_concat(price) from goods group by id; 以id分组,把price字段的值在一行
2021-02-03 15:22:07
139
原创 sql语句实现行转列的3种方法
sql语句实现行转列的3种方法前言一般在做数据统计的时候会用到行转列,假如要统计学生的成绩,数据库里查询出来的会是这样的,但这并不能达到想要的效果,所以要在查询的时候做一下处理。create table TestTable( Id int(32) not null auto_increment, UserName varchar(80) default null, Subject varchar(20) default null, Source int(32), primary key (
2021-01-28 10:45:20
738
原创 Mysql常用函数之CAST函数
Mysql常用函数之Concat函数CAST函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型可以为:CHAR[(N)] 字符型DATE 日期型DATETIME 日期和时间型DECIMAL float型SIGNED intTIME 时间型下面展示一些 内联代码片。实例1:表table1date:2015-11-03 15:31:26select cast(date as signed) as date from table1;结果如下:date:20151103
2021-01-27 13:55:37
603
原创 Mysql常用函数之Concat函数
Mysql常用函数之Concat函数本篇文章主要介绍了MySQL中concat函数的用法(连接字符串),在命令行模式下进行测试。MySQL中concat函数使用方法:CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。注意:(1)如果所有参数均为非二进制字符串,则结果为非二进制字符串。(2)如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。MySQL的concat函数可以连接一个或者多个字符串,如mysq
2021-01-27 11:01:11
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人