SQL
SQL进阶系统理论 + 实践
老白老白几点钟
孤独星球的一个无趣灵魂。
展开
-
【持续更新】Leetcode SQL题目全解析(附建表sql)
Leetcode SQL题目解析I越前须知(雾)题目Q & A175 组合两个表181 超过经理收入的员工182 查找重复电子邮箱183 从不订购的用户197 上升的温度595 超过5名学生的课1068 & 1069 产品销售1303 查询团队人数 越前须知(雾) 本系列将详解Leetcode的SQL题库(附建表语句),采用DBMS为MySQL。 本系列仅提供博主个人解法,均经过MySQL检验,且解法有对应注意点,请放心食用。 本系列适合从入门到进阶选手;若希望系统学习SQL进阶知识,请移原创 2020-10-24 10:37:08 · 1890 阅读 · 1 评论 -
SQL进阶之性能优化
SQL进阶之性能优化SQL性能优化越前须知(雾)概述==使用高效的查询====避免排序====使用索引====减少中间表== SQL性能优化 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 本篇主题为HAVING子句进阶用法,基础用法见同系列前文。 概述 使用高效的查询 避免排序 使用索引 减少中间表 使用高效的查询 参数是子查询时,用EX原创 2020-10-23 13:31:29 · 190 阅读 · 0 评论 -
SQL进阶之HAVING子句进阶
SQL进阶之HAVING子句进阶HAVING子句进阶越前须知(雾)具体用法查询集合简单条件复杂条件 HAVING子句进阶 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 本篇主题为HAVING子句进阶用法,基础用法见同系列前文。 具体用法 查询集合 简单条件 Q:查询可以出勤的队伍,即对内所有成员都处于“待命”状态 A:NOT EXISTS +原创 2020-10-21 10:36:19 · 183 阅读 · 0 评论 -
SQL进阶之处理数列
SQL进阶之处理数列处理数列越前须知(雾)概述具体用法连续编号自连接接入有序数组不考虑换排的影响考虑换排的影响最长连续数量单调递增 / 单调递减 处理数列 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 概述 关系模型的数据结构中,没有“顺序”这一概念,因此SQL处理有序集合的方法,与过程语言(以处理顺序为目的)不同。 具体用法 连续编号 创表原创 2020-10-18 23:23:37 · 194 阅读 · 0 评论 -
SQL进阶之EXISTS谓词的用法
SQL进阶之EXISTS谓词的用法EXISTS谓词的用法越前须知(雾)概述具体用法查询表中“不存在的数据”全称量化:肯定 <=> 双重否定对行、列进行量化 EXISTS谓词的用法 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 概述 支撑SQL和关系数据库的两个基础理论:一是数学领域的集合论;二是现代逻辑学标准体系的谓词逻辑‘ 谓词原创 2020-10-16 15:50:32 · 403 阅读 · 0 评论 -
SQL进阶之集合运算
SQL进阶之集合运算用SQL进行集合运算越前须知(雾)概述具体用法比较两表是否相等用差集实现关系除法运算在同一张表中寻找相同子集 用SQL进行集合运算 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 概述 SQL能操作具有重复行的集合: UNION会排除重复行,默认进行排序,性能较差; UNION ALL不排除重复行,不排序,性能较好 具体用原创 2020-10-15 09:46:44 · 145 阅读 · 0 评论 -
SQL进阶之关联子查询行间比较
SQL进阶之关联子查询行间比较关联子查询行间比较越前须知(雾)具体用法 关联子查询行间比较 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 具体用法 MICK[日] 《SQL进阶教程》 ↩︎ ...原创 2020-10-14 00:06:50 · 218 阅读 · 0 评论 -
SQL进阶之外连接的用法
SQL进阶之外连接的用法外连接越前须知(雾)具体用法集合运算乘法运算全外连接格式转换行→列:制作交叉表列→行:汇总重复项于一列嵌套式表侧栏 外连接 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 具体用法 集合运算 乘法运算 创表 创表 CREATE TABLE Items (item_no INTEGER PRIMARY KEY, i原创 2020-10-11 22:57:09 · 164 阅读 · 0 评论 -
SQL进阶之HAVING子句
SQL进阶之HAVING子句HAVING子句越前须知(雾)概述具体用法寻找缺失的编号查询众数查询中位数查询不包含NULL的集合用关系除法运算进行购物车分析 HAVING子句 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 概述 SQL是一种面向集合的语言,表的记录没有顺序;与面向过程的语言不同,它没有排序的关系运算符(Order by不是关系运原创 2020-10-11 12:34:49 · 300 阅读 · 0 评论 -
SQL进阶之三值逻辑与NULL
SQL进阶之三值逻辑与NULL三值逻辑与NULL越前须知(雾)三值逻辑概述具体应用简单规则NOT IN 和 NOT EXISTS 不等价限定谓语 (ALL、ANY) 和NULL极值函数 (MAX、MIN) 和NULL聚集函数 (COUNT、AVG) 和NULL 三值逻辑与NULL 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 三值逻辑概述 普原创 2020-10-09 13:49:23 · 243 阅读 · 0 评论 -
SQL进阶之自连接的用法
SQL进阶之自连接的用法自连接越前须知(雾)具体用法可重排列、排列、组合查询局部不一致的记录排序不分组排序分组排序 自连接 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 具体用法 可重排列、排列、组合 创表 CREATE TABLE Products (name VARCHAR(16) PRIMARY KEY, price INTEGER原创 2020-10-08 14:12:24 · 521 阅读 · 1 评论 -
SQL进阶之CASE表达式
SQL进阶之CASE表达式CASE 表达式越前须知(雾)CASE表达式概述具体应用转化已有编号方式并统计A. 汇总原有编号B. 行列转换用CHECK约束定义多个列的条件关系UPDATE子句的条件分支表间匹配聚合函数比较不同列,取最大值 CASE 表达式 越前须知(雾) 本系列参考《SQL进阶教程》1,DBMS选用MySQL。 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。 CASE表达式概述 基本写法 -- 简单表原创 2020-10-07 22:47:55 · 218 阅读 · 1 评论