目录

  • 1 第一单元  SQL基本命令
    • 1.1 学习系统环境搭建
    • 1.2 新建课程目录
    • 1.3 第一课时   SQL 简介
    • 1.4 第二课时  ​SQL 语法
    • 1.5 第三课时 MySQL 列的约束
    • 1.6 第四课时  SQL SELECT 语句
    • 1.7 第五课时  SQL WHERE 子句(1)
    • 1.8 第六课时  ​SQL WHERE 子句(2)
    • 1.9 第七课时  SQL AND & OR 运算符
    • 1.10 第八课时  ​SQL ORDER BY 关键字
    • 1.11 第九课时  SQL INSERT INTO 语句
    • 1.12 第十课时  SQL DELETE 语句
    • 1.13 第十一课时  SQL UPDATE 语句
  • 2 第二单元  SQL进阶
    • 2.1 第一课时  ​SQL SELECT TOP 子句
    • 2.2 第二课时  SQL LIKE 操作符
    • 2.3 第三课时 SQL 通配符
    • 2.4 第四课时 SQL IN 操作符
    • 2.5 第五课时 SQL BETWEEN 操作符
    • 2.6 第六课时 SQL 别名
    • 2.7 第七课时 SQL 连接(JOIN)
    • 2.8 第八课时 SQL INNER JOIN 关键字
    • 2.9 第九课时 SQL LEFT JOIN 关键字
    • 2.10 第十课时 SQL RIGHT JOIN 关键字
    • 2.11 第十一课时 ​SQL FULL OUTER JOIN 关键字
    • 2.12 第十二课时 SQL UNION 操作符
    • 2.13 第十三课时 SQL SELECT INTO 语句
    • 2.14 第十四课时 SQL INSERT INTO SELECT 语句
    • 2.15 第十五课时 SQL CREATE DATABASE 语句
    • 2.16 第十六课时 SQL CREATE TABLE 语句
    • 2.17 第十七课时 SQL 约束(Constraints)​
    • 2.18 第十八课时 SQL NOT NULL 约束
    • 2.19 第十九课时 ​SQL UNIQUE 约束
    • 2.20 第二十课时 SQL PRIMARY KEY 约束
    • 2.21 第二十一课时 SQL FOREIGN KEY 约束
    • 2.22 第二十二课时 SQL CHECK 约束
    • 2.23 第二十三课时 SQL DEFAULT 约束
    • 2.24 第二十四课时 SQL CREATE INDEX 语句
    • 2.25 第二十五课 SQL 撤销索引、撤销表以及撤销数据库
    • 2.26 第二十六课时 SQL ALTER TABLE 语句
    • 2.27 第二十七课时 SQL AUTO INCREMENT 字段
    • 2.28 第二十八课时 SQL 视图(Views)
    • 2.29 第二十九课时 SQL Date 函数
    • 2.30 第三十课时 SQL NULL 值
    • 2.31 第三十一课时 SQL NULL 函数
    • 2.32 第三十二课时 ​SQL 通用数据类型
    • 2.33 第三十三课时 SQL 用于各种数据库的数据类型
  • 3 第三单元  SQL函数
    • 3.1 第一课时 SQL 函数
    • 3.2 第二课时 SQL AVG() 函数
    • 3.3 第三课时 SQL COUNT() 函数
    • 3.4 第四课时 SQL FIRST() 函数
    • 3.5 第五课时 SQL LAST() 函数
    • 3.6 第六课时 SQL MAX() 函数
    • 3.7 第七课时 SQL MIN() Function
    • 3.8 第八课时 SQL SUM() 函数
    • 3.9 第九课时 SQL GROUP BY 语句
    • 3.10 第十课时 SQL HAVING 子句
    • 3.11 第十一课时 SQL EXISTS 运算符
    • 3.12 第十二课时 SQL UCASE() 函数
    • 3.13 第十三课时 SQL LCASE() 函数
    • 3.14 第十四课时 SQL MID() 函数
    • 3.15 第十五课时 SQL LEN() 函数
    • 3.16 第十六课时 SQL ROUND() 函数
    • 3.17 第十七课时 SQL NOW() 函数
    • 3.18 第十八课时 SQL FORMAT() 函数
  • 4 附录
    • 4.1 SQL 命令速查
    • 4.2 SQL 主机
    • 4.3 MySQL 导出数据
    • 4.4 MySQL 导入数据
    • 4.5 MySQL 函数速查
    • 4.6 MySQL 运算符速查
  • 5 学生论坛
    • 5.1 杨汶茜带我们学SQL
    • 5.2 冯凯教我们学技术
    • 5.3 闫心羽的普通话很标准
    • 5.4 我也来试试
  • 6 基于SQL的会计核算流程
    • 6.1 会计核算流程梳理
      • 6.1.1 传统会计核算流程分析
      • 6.1.2 基于SQL的会计核算流程分析
    • 6.2 基于SQL的会计核算案例
      • 6.2.1 案例企业经济业务资料
      • 6.2.2 SQL会计核算流程实现
  • 7 基于SQL的财务分析案例
    • 7.1 收集整理企业财报数据
    • 7.2 创建数据库及财报数据表
      • 7.2.1 创建财报数据库
      • 7.2.2 创建资产负债表
      • 7.2.3 创建利润表
      • 7.2.4 企业财务效率分析
    • 7.3 企业财务效率分析
      • 7.3.1 偿债能力分析
      • 7.3.2 营运能力分析
      • 7.3.3 盈利能力分析
      • 7.3.4 发展能力分析
      • 7.3.5 财务效率综合评价
    • 7.4 企业财务综合分析
      • 7.4.1 销售净利率
      • 7.4.2 总资产周转率
      • 7.4.3 总资产净利率
      • 7.4.4 权益乘数
      • 7.4.5 净资产收益率
      • 7.4.6 杜邦体系综合分析
  • 8 视图
    • 8.1 创建与使用视图
    • 8.2 更新视图
      • 8.2.1 在视图中插入数据
      • 8.2.2 利用视图更新数据
      • 8.2.3 利用视图删除数据
    • 8.3 删除视图
  • 9 数据库规范化
    • 9.1 数据库规范化的基本原理及方法
      • 9.1.1 数据库设计规范化级别
      • 9.1.2 规范化的步骤及其实现
      • 9.1.3 规范化的优点与应用考量
      • 9.1.4 关于反规范化
    • 9.2 数据库规范化应用案例
      • 9.2.1 存货管理库建表规范化
      • 9.2.2 计算发出存货单价
      • 9.2.3 查询存货本期出库完整信息
      • 9.2.4 规范化案例分析
第十二课时 SQL UNION 操作符

SQL UNION 操作符


UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

SQL UNION 语法

SELECT column_name(s) 

FROM table1

UNION

SELECT column_name(s) 

FROM table2 ;

注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SQL UNION ALL 语法

SELECT column_name(s) 

FROM table1

UNION ALL

SELECT column_name(s) 

FROM table2 ;

注释:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。


演示数据库

下面是选自 "Websites" 表的数据:

id name          url                                      alexa   country

1  Google       https://www.google.cn/       1        USA

2  淘宝            https://www.taobao.com/   13      CN 

3  菜鸟教程     http://www.runoob.com/    4689  CN 

4  微博            http://weibo.com/                20      CN 

5  Facebook   https://www.facebook.com/ 3    USA

7stackoverflow http://stackoverflow.com/ 0      IND

下面是 "apps" APP 的数据:

id name          url                                alexa   country

1  QQ APP      https://im.qq.com/          1        USA

2  微博 APP     http://weibo.com/          20      CN 

3  淘宝 APP     https://www.taobao.com/   13      CN 



SQL UNION 实例

下面的 SQL 语句从 "Websites" 和 "apps" 表中选取所有不同的country(只有不同的值):

命令:

SELECT country 

FROM Websites

UNION

SELECT country 

FROM apps

ORDER BY country ;

返回:

执行以上 SQL 输出结果如下:

country  
CN
IND
USA


注释:UNION 不能用于列出两个表中所有的country。如果一些网站和APP来自同一个国家,每个国家只会列出一次。UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值!


SQL UNION ALL 实例

下面的 SQL 语句使用 UNION ALL 从 "Websites" 和 "apps" 表中选取所有的country(也有重复的值):

命令:

SELECT country 

FROM Websites

UNION ALL

SELECT country 

FROM apps

ORDER BY country;

返回:

执行以上 SQL 输出结果如下:

country  
CN
CN
CN
CN
CN
IND
USA
USA
USA



带有 WHERE 的 SQL UNION ALL

下面的 SQL 语句使用 UNION ALL 从 "Websites" 和 "apps" 表中选取所有的中国(CN)的数据(也有重复的值):

命令:

SELECT country, name 

FROM Websites

WHERE country='CN'

UNION ALL

SELECT country, app_name 

FROM apps

WHERE country='CN'

ORDER BY country;

返回:

执行以上 SQL 输出结果如下:

countryname
CN淘宝
CNQQ APP
CN菜鸟教程
CN微博 APP
CN微博
CN淘宝 APP