SQL
月公子
人工智障爱好者
展开
-
SQL | explode()和lateral row
explode()和lateral row这篇文章:https://blog.csdn.net/yahahassr/article/details/97911676?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160578423419725266952870%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=16057842341972原创 2020-11-19 19:13:30 · 795 阅读 · 0 评论 -
SQL | 窗口函数
原表:Q1:求出每个学生最高的分数:SELECT stu,MAX(sc) FROM yasi GROUP BY stu;#成功Q2:求出每个学生的考试次数:SELECT stu,COUNT(1) FROM yasi GROUP BY stu;#成功Q2:求出每个学生最近一次考试的成绩:SELECT stu,MAX(tm),sc FROM yasi GROUP BY stu;#失败,max(time)是正确的,但对应的sc不正确。这个就不对了,日期和分数对不上!所以要用窗口函数:原创 2020-11-18 21:00:23 · 232 阅读 · 0 评论 -
SQL | 行转列、列转行11.15
原表tmp:问题,将课程放到列上去用case when 或 if ,外面再嵌套一个sum即可。#对于c_name,转成列##两种方法结果一样#case when 表达式1 then 值1 when 表达式2 then 值2 else 值 endSELECT stu_id,SUM(CASE WHEN c_name = '语文' THEN grade ELSE 0 END) '语文',SUM(CASE WHEN c_name = '数学' THEN grade ELSE 0 END) '数学'原创 2020-11-15 21:08:26 · 114 阅读 · 0 评论 -
SQL | 求累计和11.15
原表是这样的:test1:问题:求累计费用#求累计和##方法一:子查询的思路SELECT id,dat,(SELECT SUM(pay) FROM test1 b WHERE b.dat <= a.dat) payFROM test1 a;##方法二:左连接、内连接的思路#SELECT a.id a_id,a.dat a_dat,a.pay a_pay,b.id b_id,b.dat b_dat,b.pay b_pay#FROM test1 a LEFT JOIN test1原创 2020-11-15 20:03:28 · 176 阅读 · 0 评论 -
SQL | 一道sql笔试题11.14
现有几个表:student学生:course课程:sc成绩表:teacher老师表:题目:找出01课程比02课程成绩高的学生的信息。#(1)首先,找出01课程比02课程成绩高的学生的id##内连接的两种等价写法:inner join...on 和 , ... whereSELECT a.Sid,a.score 01_score,b.score 02_score FROM (SELECT * FROM sc WHERE Cid = '01') a INNER JOIN (SE原创 2020-11-14 17:36:30 · 111 阅读 · 0 评论 -
SQL学习笔记 | 11 DDL语言
SQL学习笔记 |11 DDL语言---表操作DDL语言一、概念二、种类1、创建表(1)注意:(2)Navicat代码(3)MySQL代码2、复制表3、更新表4、删除表5、重命名表前面1~10已经学习过DML语言,包括数据的增删改查。DDL语言一、概念针对整个表或数据库二、种类1、创建表(1)注意:属性:如空值(不写默认允许空值)、主键、默认值空值和默认值是两回事。空值是一...原创 2019-06-14 23:01:03 · 159 阅读 · 0 评论 -
SQL学习笔记 | GROUP BY
SQL学习笔记 | GROUP BY、HAVING一、GROUP BY1、用法2、解释3、Navicat代码二、HAVING1、用法2、解释3、Navicat代码三、顺序问题1、书写顺序2、执行顺序一、GROUP BY1、用法2、解释如果使用GROUP BY ,SELECT后面最好有聚合键NULL成为单独一个分组聚合键不要别名先WHERE过滤,在GROUP BY 分组。过滤掉的结...原创 2019-06-09 23:23:26 · 268 阅读 · 0 评论 -
SQL学习笔记 | 12 视图和存储过程(很实用)
SQL学习笔记 |12 视图和存储过程(很实用)一、视图VIEW1、概念2、用法(1)创建视图(2)删除视图3、优点二、存储过程PROCEDURE1、用法2、实现(1)、Navicat实现(2)、MySQL实现3、优点一、视图VIEW1、概念视图是一面镜像。源数据发生改变,镜像也发生改变。2、用法(1)创建视图目标二维表是一个SELECT语句。很多DBMS中,ORDER BY不能用...原创 2019-06-15 16:04:56 · 407 阅读 · 0 评论 -
SQL学习笔记 | 13 DCL语言
SQL学习笔记 |13 DCL语言DCL语言一、事务管理1、概念2、管理对象3、主要操作-COMMIT、ROLLBACK、SAVEPOINT二、高级特性1、字段的约束(1)、主键-PRIMARY KEY(2)、外键-FOREIGN KEY(3)、唯一约束-UNIQUE(4)、检查约束-CHECK(5)、默认约束-DEFAULT2、索引INSEX(1)、建立索引(2)、使用注意数据库安全-DBAD...原创 2019-06-15 16:59:09 · 165 阅读 · 0 评论 -
SQL学习笔记 | 14 与HIVE、Python、JAVA
SQL学习笔记 |14 与HIVE、Python、JAVA一、数据分类二、与HIVE三、与Python 和 JAVA一、数据分类数据分为结构化和非结构化二、与HIVEHIVE是将NONSQL转化为SQL的桥梁。它的底层是海量的NONSQL数据,结果是SQL数据HIVE中使用一种结构化的查询语言:HQL三、与Python 和 JAVA...原创 2019-06-15 17:19:36 · 136 阅读 · 0 评论 -
SQL学习笔记 | 08 聚合函数
SQL学习笔记 | 08 聚合函数一、定义二、举例1、COUNT()不计空值2、SUM()不计空值3、AVG()不计空值4、MAX()、MIN()可以求日期和文本一、定义参数为列,输出仅为1行。二、举例1、COUNT()不计空值SELECT COUNT(1) FROM milk_tea AS m;SELECT COUNT(*) FROM milk_tea AS m;SELEC...原创 2019-06-09 22:07:56 · 203 阅读 · 0 评论 -
SQL学习笔记 | 07 数据类型
SQL学习笔记 | 07 数据类型一、数据类型1、数值型(1)INTEGER(2)DECIMAL多出位“四舍五入”(3)FLOAT/DOUBLE/REAL多出位“五舍六入”2、文本型(1)CHAR(2)VARCHAR对比解释3、日期型(1)DATE(2)TIME(2)DATETIMENavicat实验二、函数1、数值处理函数2、文本处理函数3、日期处理函数4、Navicat一、数据类型1、数值...原创 2019-06-09 20:43:05 · 312 阅读 · 0 评论 -
SQL学习笔记 | 09 多表查询
SQL学习笔记 | 09 多表查询一、子查询1、概念2、种类(1)、标量子查询(一个常数)(2)、关联子查询(一列值)(3)、普通子查询(一列值)二、表联结(拼列)1、概念2、种类(1)、内联结(显示重复行)(2)、自联结(3)、外联结(显示重复行、无关联信息)3、应用三、组合查询(拼行)1、概念2、种类(1)UNION(去重)(2)UNION ALL(不去重)3、Navicat代码一、子查询...原创 2019-06-12 18:50:09 · 220 阅读 · 0 评论 -
SQL学习笔记 | 01 数据库介绍
SQL学习笔记 | 01数据库介绍数据库(DB)满足3个条件分类数据库管理系统(DBMS)关系型数据库MySQL简单操作Navicat简单操作数据库(DB)(DataBase,简称DB)满足3个条件分类1、 小型数据库:通讯录(姓名、电话、地址、通讯记录)2、大型数据库:商超、银行、淘宝、运营商多种数据库:生产库、历史库、镜像库数据库管理系统(DBMS)包括SQLServer(...原创 2019-06-06 20:17:10 · 2278 阅读 · 3 评论 -
SQL学习笔记 | 02 SQL语句结构
SQL学习笔记 | 02 SQL语句结构一、表的导入1、表的命名2、导入步骤3、导入需注意二、标准SQL语法1、语句结构2、数据表的其他关键词3、SQL语句的分类一、表的导入1、表的命名2、导入步骤双击数据库后,点击导入字段名行:列名 在第一行日期排序:选择年月日YMD月份-int型 价格-decimal型长度-整个字符串的比例-小数点后几位点击下一步后,点击开始,导入成...原创 2019-06-06 21:20:05 · 2720 阅读 · 2 评论 -
SQL学习笔记 | 03 单表查询之SELECT
SQL学习笔记 | 03 单表查询之SELECT一、SELECT1、选出列2、选列后处理(1)给列起别名:AS介绍Navicat实现(2)添加常数列Navicat实现(3)四则运算Navicat实现(4)列间字符拼接:CONCAT 和CONCAT_WE介绍Navicat实现二者区别(5)选出不同列:DINSTINCT介绍Navicat实现一、SELECT1、选出列(1)查询结果:从一个数据表...原创 2019-06-07 21:16:58 · 260 阅读 · 0 评论 -
SQL学习笔记 | 04 单表查询之ORDER BY
SQL学习笔记 | 04 单表查询--->结果排序:ORDER BY二、ORDER BY1、语法结构2、注意3、Navicat实现二、ORDER BY1、语法结构2、注意(1)一定是SELECT语句的最后一条字句。(其他子句一定在中间。)(2)排序列不一定需要显示出来。(3)多列排序:优先排第一个字段,然后排第二个字段。(4)NULL:不管是日期还是数字(实验表全是正数),N...原创 2019-06-07 22:07:09 · 340 阅读 · 0 评论 -
SQL学习笔记 | 05、06 单表查询之结果过滤
SQL学习笔记 | 05 单表查询之结果过滤三、WHERE精确过滤1、WHERE(1)用法(2)注意:遗漏空值(3)运算符形式数学符号<, >, =, !=, <>文字表述BETWEEN AND计算表达式提取空值IS (NOT) NULL2、IN3、NOT注意:就近原则模糊过滤:WHERE + LIKE1、LIKE通配符:' _ ' 和 ' % '多个过滤条件用法注意:A...原创 2019-06-09 19:04:22 · 361 阅读 · 1 评论 -
SQl学习笔记 | 10 数据的增删改
SQl学习笔记 |10 数据的增删改一、数据的插入-INSERT INTO...VALUES(...)1、手动插入2、插入检索数据二、数据的更新-UPDATE...SET...1、用法2、Navicat代码三、数据的删除-DELETE FROM/TRUNCATE TABLE1、用法2、Navicat代码前言:针对表中数据有四大操作:增删改查(DML语言)。前面我们已经学习了“查”,包括单表...原创 2019-06-14 18:38:38 · 157 阅读 · 0 评论