十四、自连接查询的使用场景

简介: 十四、自连接查询的使用场景

一、什么是自连接

自连接是一种特殊的表连接,它是指相互连接的表在物理上同为一张表,但逻辑上是多张表。自连接通常用于表中的数据有层次结构的情况下,如区域表、菜单表、商品分类表等等。语法如下:

SELECT A.column, B.column
FROM table A, table B
WHERE A.column=B.column;

例如:

1. 数据库中存在一个 area 表,表结构和数据内容如下:

image.pngimage.png

查询出每个城市对应的省份。

select A.id, A.name, B.name as province  from area A, area B
where A.pid=B.id and A.pid<>0;
目录
相关文章
|
6月前
|
SQL 存储 关系型数据库
一文搞懂SQL优化——如何高效添加数据
**SQL优化关键点:** 1. **批量插入**提高效率,一次性建议不超过500条。 2. **手动事务**减少开销,多条插入语句用一个事务。 3. **主键顺序插入**避免页分裂,提升性能。 4. **使用`LOAD DATA INFILE`**大批量导入快速。 5. **避免主键乱序**,减少不必要的磁盘操作。 6. **选择合适主键类型**,避免UUID或长主键导致的性能问题。 7. **避免主键修改**,保持索引稳定。 这些技巧能优化数据库操作,提升系统性能。
438 4
一文搞懂SQL优化——如何高效添加数据
|
6月前
|
SQL 数据可视化 关系型数据库
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
|
6月前
|
SQL 关系型数据库 MySQL
【MySQL-8】DQL-查询语句全解 [ 基础/条件/分组/排序/分页查询 ](附带代码演示&案例练习)
【MySQL-8】DQL-查询语句全解 [ 基础/条件/分组/排序/分页查询 ](附带代码演示&案例练习)
|
5月前
|
SQL 关系型数据库 MySQL
MySql基础三之【单表查询进阶操作】
MySql基础三之【单表查询进阶操作】
46 0
|
SQL
SQL基础——查询基础(下)
SQL基础——查询基础(下)
127 0
SQL基础——查询基础(下)
|
6月前
|
关系型数据库 MySQL 数据库
十七、MySQL查询优化
十七、MySQL查询优化
55 0
|
6月前
十二、三大范式
十二、三大范式
57 0
|
SQL
SQL基础——查询基础(上)
SQL基础——查询基础(上)
96 0
SQL基础——查询基础(上)
|
SQL 关系型数据库 MySQL
MySQL查询进阶——从函数到表连接的使用你还记得吗
MySQL查询进阶——从函数到表连接的使用你还记得吗
115 0
|
SQL Oracle 关系型数据库
【SQL开发实战技巧】系列(二十四):数仓报表场景☞通过执行计划详解”行转列”,”列转行”是如何实现的
本篇文章讲解的主要内容是:***目前Oracle支持的行列互换有两种方式:case when、pivot\unpivot,我将通过几个案例来给大家详解如何通过这两种方式实现“行转列”,“列转行”的需求,并通过执行计划看case when、pivot\unpivot二者的底层逻辑关系以及效率上的影响。***
【SQL开发实战技巧】系列(二十四):数仓报表场景☞通过执行计划详解”行转列”,”列转行”是如何实现的