AI智能
改变未来

MYSQL详细查询操作2


内连接

join连接
join关键字属于sql99语法的标准,1999推出了sql的一种新标准,使用到的关键字,叫做join。
join连接,属于sql99语法
分类:
内连接:[inner] join on
外连接:(outer可以省略)
左外连接 left 【outer】 join on
右外连接 right【outer】 join on
全外连接 full 【outer】 join on (mysql中不支持)
语法:
select 字段1,字段2,… from 表1
inner join 表2 on 连接条件;

特点:
① 效果和等值连接是一样的!
② 表的顺序可以调换
③ 可以为表起别名
④ 可以添加筛选、分组、排序
⑤ 将筛选条件和连接条件实现了分类,提高代码的可读性
⑥ n表连接,至少需要n-1 个连接条件

外链接

语法:
select 字段1,字段2,… from 表1
left|right 【outer】 join 表2 on 连接条件

特点:
①查询结果:内连接的结果+主表中有但从表没有的记录(从表的字段用null填充)
②左连接,左边的就是主表; 右连接,右边的就是主表
③一般来讲要查询的字段来自于哪个表,那哪个表就是主表
④一般用于查询主表中有但从表中没有的记录

全外连接和自连接

全外连接:(MYSQL不支持)
select 表别名2.字段1,表别名1.字段2 from 表名1 别名1
full outer join 表2.表别名2 on 表名1.字段=表名2.字段1

自连接:(自己连接自己)
SELECT 别命1 . 字段1, 别命2 . 字段1
FROM表名 别名1
INNER JOIN 表名 别名2 ON 别名1.字段2=别名2.字段2

子查询

概念:
嵌套在另一个查询中的查询语句称为子查询,外部的查询称为主查询,类似于java中的内部类
语法:
select 字段1,字段2 from 表1
where 条件 (
select 字段1 from 表2
)
特点或者说注意事项:
1、子查询放在小括号内
2、放在条件右侧
3、子查询优先于主查询执行,先子再主

分类:
单行子查询:子查询的结果只有一个值,使用单行操作符(> < >= <= = <>)
多行子查询:使用多行操作符(any、all、in、not in)

分页查询

语法
SELECT 查询的东西 FROM 表
WHERE 条件
GROUP BY 字段
HAVING 条件
ORDER BY 排序的字段
LIMIT 条目起始索引,条目数

特点
1.写法
写法一:
LIMIT 条目数
意思:从第一条开始,显示指定条目数的数据
写法二:
LIMIT 起始条目索引,条目数
意思:从指定的起始索引的条目开始,显示指定条目数的数据

2.起始索引从0开始

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » MYSQL详细查询操作2