- 博客(18)
- 收藏
- 关注
原创 niuke题霸 SQL篇
SQL66 牛客每个人最近的登录日期(1):较简单select user_id,max(date) as id from login group by user_id order by user_id窗口函数解法:--第一种select distinct user_id, last_value(date) over(partition by user_id order by date rows between current row and unbounded fo
2022-04-18 16:06:30
281
原创 记录遇到的MySQL的错误
1、'Operand should contain 1 column(s)'select avg(salary) as avg_salaryfrom salarieswhere salary not in(select max(salary),min(salary) from salaries where to_date='9999-01-01')and to_date='9999-01-01'错误:子查询中有两
2022-04-17 20:07:47
482
原创 niuke 题霸 SQ/L篇
SQL51 查找字符串中逗号出现的次数(好像没有这种函数?)解:把逗号去掉前后的长度差SELECT id,length(string)-length(replace(string,',',''))FROM strings注:length、octet_length、char_length、character_lengthSQL52 获取employees中的first_name,并按照first_name最后两个字母升序进行输出知识点:first_name最后两个字母LEFT(
2022-04-17 12:11:41
626
原创 niuke题霸SQ/L篇
SQL33 创建一个actor表,包含如下列信息CREATE TABLE actor( actor_id smallint(5) not null comment'主键id', first_name varchar(45) not null comment'名字', last_name varchar(45) not null comment'姓氏', last_update date not null comment'日期', p
2022-04-17 10:58:51
445
原创 SQL基础教程8(2)GROUPING运算符
GROUPING运算符ROLLUP (MySQL仅支持ROLLUP) CUBE:将 GROUP BY 子句中聚合键的“所有可能的组合” 的汇总结果集中到一个结果中 GROUPING SETS:用于从中取出个别条件对应的不固定的结果只使用GROUP BY子句和聚合函数无法同时得出小计和合计,若想要同时得到,可以使用GROUPING运算符通常的做法是分别计算出合计行和按照商品种类进行汇总的结果,然后通过 UNION ALL连接在一起,但是繁琐、 DBMS 内部处理成本非常高 UNION ALL.
2022-04-16 14:50:15
416
原创 SQL基础教程8(1)窗口函数
窗口函数(OLAP 函数 OnLine Analytical Processing):兼具分组和排序两种功能,但PARTITION BY 子句并不具备 GROUP BY 子句的汇总功能,因此,不会减少原表中记录的行数。<窗口函数> OVER ([PARTITION BY <列清单>] ORDER BY <排序用列清单>)PARTITION BY 能够设定排序的对象范围。ORDER BY 能够指定按照哪一列、何种顺序进行排序。
2022-04-13 20:58:24
215
原创 SQL基础教程7(2)联结
联结(以列为单位对表进行联结)联结(JOIN):将其他表的列添加过来,进行“添加列”的集合运算,用于无法从一张表中获取期望数据(列)的情况对于联结的过时语法和特定语法,虽然不建议使用,但还是希望大家能够读懂。UNION是以行(纵向)为单位进行操作,而联结则是以列(横向)为单位进行的内联结——INNER JOIN:将联结之后的结果想象为新创建出来的一张表,只能选取出同时存在于两张表中的数据要点:1、FROM子句:进行联结时需要在FROM子句中使用多张表2、ON子句:指定联结条件(联
2022-04-13 20:30:30
196
原创 SQL基础教程7(1)
表的加减法集合在数据库领域表示记录的集合。具体来说,表、 视图和查询的执行结果都是记录的集合。集合运算:对满足同一规则的记录进行四则运算注意事项:1、作为运算对象的记录的列数必须相同2、作为运算对象的记录中列的类型必须一致在有些 DBMS中,即使数据类型不同,也可以通过隐式类型转换完成操作。但由于并非所有的 DBMS都支持这样的用法, 因此希望使用恰当的数据类型来进行运算。 一定要使用不同数据类型的列时,可以使用 6-1 节中的类型转换函数 CAST3、可以使用任何SELEC
2022-04-13 20:29:18
367
原创 SQL基础教程6(3)和进阶教程1
CASE表达式:条件分支表达式可以书写在任意位置简单CASE表达式-- 简单CASE表达式CASE <表达式> WHEN <表达式> THEN <表达式> WHEN <表达式> THEN <表达式> WHEN <表达式> THEN <表达式> . . . ELSE <表达式>END-- 简单 CASE 表达式CASE sex WHEN '1' THEN
2022-04-13 20:27:18
154
原创 SQL基础教程5
5-1视图● 从 SQL的角度来看,视图和表是相同的,两者的区别在于表中保存的是实 际的数据,而视图中保存的是SELECT语句(视图本身并不存储数据)。● 使用视图,可以轻松完成跨多表查询数据等复杂操作。 ● 可以将常用的SELECT语句做成视图来使用。● 创建视图需要使用CREATE VIEW语句。● 视图包含“不能使用ORDER BY”和“可对其进行有限制的更新”两项限制。● 删除视图需要使用DROP VIEW语句。...
2022-04-13 14:22:03
132
原创 SQL基础教程4
4-1 数据的插入(INSERT语句的使用方法)1、VALUES子句指定具体的数据--INSERT语句INSERT INTO <表名> (列1, 列2, 列3, ……) VALUES (值1, 值2, 值3, ……);--向表中插入一行数据INSERT INTO ProductIns (product_id, product_name, product_type,sale_price, purchase_price, regist_date) VALUES ('0001',
2022-04-13 12:05:55
374
原创 SQL基础教程3
3-1 对表进行聚合查询聚合函数:用于汇总的函数聚合:将多行汇总为一行COUNT:计算表中的记录数(行数)通常,聚合函数会对NULL以外的对象进行汇总,所有的聚合函数,如果以列名为参数,那么在计算之前就已经把 NULL 排除在外了。但是只有COUNT函数例外,COUNT函数的结果根据参数的不同而不同,COUNT(*)会得到包含NULL在内的全部数据的行数,而COUNT(<列名>)会得到NULL之外的数据行数。MAX/MIN 函数和 SUM/AVG 函数有一点不同,MAX/
2022-04-12 17:21:25
192
原创 SQL基础教程2
#查询特定的行SELECT product_id, product_name, purchase_price FROM Product;#查询全部行SELECT * FROM Product;#查询常数SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date, product_id, product_name FROM Product;#设定别名:AS关键字SELECT product_id AS id.
2022-04-12 16:08:33
792
原创 SQL基础教程1(2)
注:都是mysql语句,若是其他关系数据库的特定语句,就不写了。1-4 表的创建数据库的创建CREATE DATABASE <数据库名称>;CREATE DATABASE shop;表的创建CREATE TABLE <表名>(<列名1> <数据类型> <该列所需约束>, <列名2> <数据类型> <该列所需约束>, <列名3> <数据类型> <该列
2022-04-12 15:11:53
130
原创 SQL基础教程1(1)
SQL(Structured Query Language,结构化查询语言)1-1 数据库是什么DB(数据库):是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。DBMS:用来管理数据库的计算机系统RDBMS:关系数据库管理系统DSMS的重要性:实现多个用户同时安全简单地操作大量数据(文本文件或电子制表软件存在的问题):1.无法多人共享数据2.无法提供操作大量数据所需的格式3.实现读写自动化需要编程能力4.无法应对突发事故DBMS的种类层次
2022-04-12 12:06:21
712
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅