您的位置:首页 > 科技 > IT业 > 手机参数查询网站_广告设计公司服务不到位_sem是什么职业岗位_东莞网站公司哪家好

手机参数查询网站_广告设计公司服务不到位_sem是什么职业岗位_东莞网站公司哪家好

2025/4/22 7:15:46 来源:https://blog.csdn.net/2302_79600390/article/details/147089738  浏览:    关键词:手机参数查询网站_广告设计公司服务不到位_sem是什么职业岗位_东莞网站公司哪家好
手机参数查询网站_广告设计公司服务不到位_sem是什么职业岗位_东莞网站公司哪家好

MySQL多表查询实战指南:从SQL到XML映射的完整实现(2W+字深度解析)

第一章 多表查询基础与核心原理

1.1 关系型数据库设计范式

以电商系统为例的三范式实践:

-- 原始数据表(违反第三范式)
CREATE TABLE orders (order_id INT PRIMARY KEY,customer_name VARCHAR(50),product_name VARCHAR(50),product_category VARCHAR(20)
);-- 规范化后的设计
CREATE TABLE customers (id INT PRIMARY KEY,name VARCHAR(50)
);CREATE TABLE products (id INT PRIMARY KEY,name VARCHAR(50),category_id INT
);CREATE TABLE orders (id INT PRIMARY KEY,customer_id INT,product_id INT
);

1.2 七种JOIN类型全解

-- 内连接(获取有订单的客户)
SELECT c.name, o.order_date 
FROM customers c
INNER JOIN orders o ON c.id = o.customer_id;-- 左外连接(获取所有客户及其订单)
SELECT c.name, o.order_date
FROM customers c
LEFT JOIN orders o ON c.id = o.customer_id;-- 全外连接模拟(MySQL不支持FULL OUTER JOIN)
SELECT c.name, o.order_date
FROM customers c
LEFT JOIN orders o ON c.id = o.customer_id
UNION
SELECT c.name, o.order_date
FROM customers c
RIGHT JOIN orders o ON c.id = o.customer_id;

1.3 子查询进阶应用

-- 相关子查询(查询每个客户的最近订单)
SELECT c.name, (SELECT MAX(order_date) FROM orders o WHERE o.customer_id = c.id) AS last_order
FROM customers c;-- 派生表查询(统计部门平均工资)
SELECT d.name, emp_stats.avg_salary
FROM departments d
JOIN (SELECT dept_id, AVG(salary) AS avg_salaryFROM employeesGROUP BY dept_id
) emp_stats ON d.id = emp_stats.dept_id;

第二章 MyBatis XML映射深度解析

2.1 基础映射标签详解

<!-- 订单基础映射 -->
<resultMap id="BaseOrderMap" type="com.example.Order"><id column="id" property="id"/><result column="order_no" property="orderNumber"/><result column="create_time" property="createTime"/>
</resultMap><!-- 包含客户信息的复杂映射 -->
<resultMap id="OrderWithCustomerMap" extends="BaseOrderMap" type="Order"><association property="customer" javaType="Customer"><id column="customer_id" property="id"/><result column="customer_name" property="name"/><result column="customer_email" property="email

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com