SQL 查询操作符 连接查询 子查询

本文详细介绍了SQL查询操作符,包括AND、OR、IN、BETWEEN...、LIKE、IS NULL等,并讲解了DISTINCT、AS、LIMIT的用法。接着讨论了各种类型的连接查询,如内连接、外连接、自连接及其应用场景。最后,探讨了子查询的使用,包括在WHERE或HAVING后的子查询、标量子查询和列子查询等。
摘要由CSDN通过智能技术生成

SQL 查询操作符

查询操作符
在这里插入图片描述

and; or

“和” “或” 联合多个条件进行查询

select * from fruits
where s_id=101 and f_id="a1";

select * from fruits
where s_id=101 or f_id="a1";

在这里插入图片描述

in; not in

判定某个字段的值是否在集合中, 在的话满足查询条件

select * from fruits
where f_name in ("apple","orange");

在这里插入图片描述

between…and…

判断某个字段是否在指定范围内.

like “字符串”

用来匹配字符串是否相等
通配符 % _
% 代表任意长度字符串
_ 代表单个字符串
举个栗子:
b%k 代表b开头,k结尾的任意长度字符串
b_k 代表b开头,k结尾的长度为3的字符串
"%e%" 代表包含e的任意字符串, 可查询任意,即e可以在开头和结尾
举例: 查找以b开头, 且字符串长度为2的记录

select * from fruits
where f_id like 'b_';

is [not] null

判定字段的值是否为空值, not是可选参数

distinct 使结果仅显示唯一的值

用来消除重复记录

select distinct s_id from fruits;

as 重命名

可以将表或字段名重命名为别的名称使用, 只在查询时有效
使用过程中 as 可以省略

select *, f_name '水果名', f_price as '价格'
from fruits; 

在这里插入图片描述

limit 3

查询后只显示limit指定数字的行数记录

select * from fruits
order by f_price desc
limit 3;

在这里插入图片描述

连接查询

笛卡尔乘积现象:表1 m行, 表2 n行, 结果是m*n行
笛卡尔乘积:当查询多个表时,没有添加有效的连接条件,导致多个表所有行实现完全连接
如何解决:添加有效的连接条件

mysql : 内连接\左外连接\右外连接\交叉连接

内连接

语法:
select 查询列表
from 表1 别名
【inner】 join 表2 别名 on 连接条件
where 筛选条件
group by 分组列表
having 分组后的筛选
order by 排序列表
limit 子句;

特点:
①表的顺序可以调换
②内连接的结果=多表的交集
③n表连接至少需要n-1个连接条件

分类:

  • 等值连接 =
  • 非等值连接 between and
  • 自连接 :它解决了列与列之间的逻辑关系问题,准确的讲是列与列之间的层次关系。

涉及到多表连接, join中表的顺序问题.
当执行
from departments d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值