JavaWeb之MySQL(1.1):MySQL数据处理之查询图解

不想看知识点图解?请直接看SQL语句演示,传送门:https://blog.csdn.net/qq_43265673/article/details/98303294
JavaWeb之MySQL(1.2):MySQL数据处理之查询代码演示

SQL概述

SQL(Structural query language)语句分为以下三种类型:

DML: Data Manipulation Language 数据操纵语言
DDL: Data Definition Language 数据定义语言
DCL: Data Control Language 数据控制语言

DML

DML用于查询与修改数据记录,包括如下SQL语句:

INSERT:添加数据到数据库中
UPDATE:修改数据库中的数据
DELETE:删除数据库中的数据
SELECT:选择(查询)数据

SELECT是SQL语言的基础,最为重要。

DDL

DDL用于定义数据库的结构,比如创建、修改或删除数据库对象,包括如下SQL语句:

CREATE TABLE:创建数据库表
ALTER  TABLE:更改表结构、添加、删除、修改列长度
DROP TABLE:删除表
CREATE INDEX:在表上建立索引
DROP INDEX:删除索引

DCL

DCL用来控制数据库的访问,包括如下SQL语句:

GRANT:授予访问权限
REVOKE:撤销访问权限
COMMIT:提交事务处理
ROLLBACK:事务处理回退
SAVEPOINT:设置保存点
LOCK:对数据库的特定部分进行锁定

在这里插入图片描述

学习目标

基本的SELECT语句
过滤和排序数据
多表查询
单行函数
分组函数

1—基本 SELECT 语句

在这里插入图片描述
SELECT 标识选择哪些列。
FROM 标识从哪个表中选择。

选择全部列

在这里插入图片描述

选择特定的列

在这里插入图片描述
注 意
SQL 语言大小写不敏感。
SQL 可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。

列的别名

列的别名:
重命名一个列。
便于计算。
紧跟列名,也可以在列名和别名之间加入关键字‘AS’,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。

使用别名

在这里插入图片描述

字符串

日期和字符只能在单引号中出现。
每当返回一行时,字符串被输出一次。

显示表结构

在这里插入图片描述

2—过滤和排序数据

在查询中过滤行
在这里插入图片描述

过滤

在这里插入图片描述

WHERE 子句

在这里插入图片描述

比较运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

BETWEEN

在这里插入图片描述

IN

在这里插入图片描述

LIKE

在这里插入图片描述
在这里插入图片描述

ESCAPE

在这里插入图片描述

NULL

在这里插入图片描述

逻辑运算

在这里插入图片描述

AND

在这里插入图片描述

OR

在这里插入图片描述

NOT

在这里插入图片描述

ORDER BY子句

使用 ORDER BY 子句排序

ASC(ascend): 升序
DESC(descend): 降序

ORDER BY 子句在SELECT语句的结尾。
在这里插入图片描述

降序排序

在这里插入图片描述
按别名排序
在这里插入图片描述
多个列排序
在这里插入图片描述

3 — 多表查询

在这里插入图片描述
从多个表中获取数据
在这里插入图片描述

select last_name, department_name
from employees, departments

在这里插入图片描述

select count(employee_id) from employees;

假设输出107行

select count(department_id)from departments;

假设输出27行

select 107*27 from dual;

笛卡尔集

笛卡尔集会在下面条件下产生::

省略连接条件
连接条件无效
所有表中的所有行互相连接

为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件。
在这里插入图片描述

Mysql 连接

在这里插入图片描述

等值连接

在这里插入图片描述
在这里插入图片描述
多个连接条件与 AND 操作符
在这里插入图片描述
区分重复的列名
使用表名前缀在多个表中区分相同的列。
在不同表中具有相同列名的列可以用表的别名加以区分。

表的别名

使用别名可以简化查询。
使用表名前缀可以提高执行效率。
在这里插入图片描述

连接多个表

在这里插入图片描述
连接 n个表,至少需要 n-1个连接条件。 例如:连接三个表,至少需要两个连接条件。

非等值连接

在这里插入图片描述
在这里插入图片描述

自连接

在这里插入图片描述
在这里插入图片描述

外连接

在这里插入图片描述

内连接和外连接(1)

内连接: 合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行
外连接: 两个表在连接过程中除了返回满足连接条件的行以外还返回左(或右)表中不满足条件的行 ,这种连接称为左(或右) 外连接。没有匹配的行时, 结果表中相应的列为空(NULL).

SQL99:使用ON 子句创建连接

自然连接中是以具有相同名字的列为连接条件的。
可以使用 ON 子句指定额外的连接条件。
这个连接条件是与其它条件分开的。
ON 子句使语句具有更高的易读性。

ON 子句

在这里插入图片描述

使用 ON 子句创建多表连接

在这里插入图片描述

左外连接

在这里插入图片描述

右外连接

在这里插入图片描述

4 — 单行函数

在这里插入图片描述
在这里插入图片描述

单行函数

单行函数:
操作数据对象
接受参数返回一个结果
只对一行进行变换
每行返回一个结果
可以嵌套
参数可以是一列或一个值
在这里插入图片描述
字符函数
在这里插入图片描述

大小写控制函数

这类函数改变字符的大小写。
在这里插入图片描述

字符控制函数

字符控制函数
在这里插入图片描述

数字函数

在这里插入图片描述

日期函数

函数NOW() 返回:
日期
时间

通用函数

在这里插入图片描述

条件表达式

在 SQL 语句中使用IF-THEN-ELSE 逻辑
使用方法:

CASE 表达式

CASE 表达式

在这里插入图片描述
在这里插入图片描述

5 — 分组函数

分组函数作用于一组数据,并对一组数据返回一个值。
在这里插入图片描述

组函数类型

AVG() 
SUM()
MAX() 
MIN() 
COUNT() 

组函数语法
在这里插入图片描述
AVG(平均值)和 SUM (合计)函数
在这里插入图片描述
MIN(最小值)和 MAX(最大值)函数
在这里插入图片描述
COUNT(计数)函数
在这里插入图片描述
在这里插入图片描述
分组数据
在这里插入图片描述
分组数据: GROUP BY 子句语法
在这里插入图片描述
GROUP BY 子句
在这里插入图片描述
在这里插入图片描述
使用多个列分组
在这里插入图片描述
在GROUP BY子句中包含多个列
在这里插入图片描述
非法使用组函数
在这里插入图片描述
过滤分组
在这里插入图片描述

过滤分组: HAVING 子句

使用 HAVING 过滤分组:

  1. 行已经被分组。
  2. 使用了组函数。
  3. 满足HAVING 子句中条件的分组将被显示。
    在这里插入图片描述
    HAVING 子句
    在这里插入图片描述
    不想看知识点图解?请直接看SQL语句演示,传送门:https://blog.csdn.net/qq_43265673/article/details/98303294
    JavaWeb之MySQL(1.2):MySQL数据处理之查询代码演示
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值