当前位置: 首页 > wzjs >正文

辽阳做网站公司百度搜索排名靠前

辽阳做网站公司,百度搜索排名靠前,做定制网站,网站做端口是什么情况一、数据准备 示例表结构 为便于演示,我们创建两个简单表:学生表(students)和成绩表(scores)。 -- 学生表 CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(50) );-- 成绩表 CREATE TA…

一、数据准备

示例表结构

为便于演示,我们创建两个简单表:学生表(students)成绩表(scores)

-- 学生表
CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(50)
);-- 成绩表
CREATE TABLE scores (score_id INT PRIMARY KEY,student_id INT,subject VARCHAR(20),score DECIMAL(5,2)
);-- 插入数据
INSERT INTO students VALUES
(1, '张三'),
(2, '李四'),
(3, '王五'),
(4, '赵六');INSERT INTO scores VALUES
(1, 1, '数学', 90),
(2, 1, '英语', 85),
(3, 2, '数学', 78),
(4, 3, '物理', 92),
(5, 5, '化学', 88);  -- 注意:student_id=5在students表中不存在

二、内连接(INNER JOIN)

定义

内连接仅返回两个表中匹配的记录。

语法

SELECT 列名
FROM 表1
INNER JOIN 表2 ON 表1.字段 = 表2.字段;

示例

SELECT s.name, sc.subject, sc.score
FROM students s
INNER JOIN scores sc ON s.student_id = sc.student_id;

输出

name | subject | score
张三  | 数学    | 90
张三  | 英语    | 85
李四  | 数学    | 78
王五  | 物理    | 92

应用场景

需要获取两个表完全匹配的数据,例如查询有成绩记录的学生信息。


三、左连接(LEFT JOIN)

定义

左连接返回左表(FROM后的表)的所有记录,以及右表中匹配的记录。若右表无匹配,则填充NULL

语法

SELECT 列名
FROM 表1
LEFT JOIN 表2 ON 表1.字段 = 表2.字段;

示例

SELECT s.name, sc.subject, sc.score
FROM students s
LEFT JOIN scores sc ON s.student_id = sc.student_id;

输出

name | subject | score
张三  | 数学    | 90
张三  | 英语    | 85
李四  | 数学    | 78
王五  | 物理    | 92
赵六  | NULL   | NULL

应用场景

需要获取左表全部数据,即使右表无匹配。例如,列出所有学生及其成绩(包括无成绩的学生)。


四、右连接(RIGHT JOIN)

定义

右连接返回右表的所有记录,以及左表中匹配的记录。若左表无匹配,则填充NULL

语法

SELECT 列名
FROM 表1
RIGHT JOIN 表2 ON 表1.字段 = 表2.字段;

示例

SELECT s.name, sc.subject, sc.score
FROM students s
RIGHT JOIN scores sc ON s.student_id = sc.student_id;

输出

name | subject | score
张三  | 数学    | 90
张三  | 英语    | 85
李四  | 数学    | 78
王五  | 物理    | 92
NULL | 化学    | 88  -- scores表中student_id=5在students表中不存在

应用场景

需要获取右表全部数据,即使左表无匹配。例如,列出所有成绩记录及其对应的学生(包括无学生信息的成绩)。


五、全连接(FULL OUTER JOIN)

定义

全连接返回左右两表的所有记录,匹配部分合并,不匹配部分填充NULL

注意:MySQL原生不支持FULL OUTER JOIN,但可通过LEFT JOINRIGHT JOINUNION实现。

语法

(SELECT 列名 FROM 表1 LEFT JOIN 表2 ON 条件)
UNION
(SELECT 列名 FROM 表1 RIGHT JOIN 表2 ON 条件);

示例

(SELECT s.name, sc.subject, sc.scoreFROM students sLEFT JOIN scores sc ON s.student_id = sc.student_id)
UNION
(SELECT s.name, sc.subject, sc.scoreFROM students sRIGHT JOIN scores sc ON s.student_id = sc.student_id);

输出

name | subject | score
张三  | 数学    | 90
张三  | 英语    | 85
李四  | 数学    | 78
王五  | 物理    | 92
赵六  | NULL   | NULL
NULL | 化学    | 88

应用场景

需要同时获取两表所有数据,例如统计完整的学生和成绩信息(包括无匹配记录的情况)。


六、对比与总结

连接类型描述适用场景
INNER JOIN仅返回匹配记录需要精确匹配的关联查询
LEFT JOIN左表全量 + 右表匹配保留左表所有记录
RIGHT JOIN右表全量 + 左表匹配保留右表所有记录
FULL JOIN左右表全量 + 匹配合并需要两表完整数据的统计分析
http://www.dtcms.com/wzjs/259934.html

相关文章:

  • 做网站需要先搞目录么外贸接单平台哪个最好
  • 有哪些好的网页设计优化防疫政策
  • dede制作动态网站模板下载推广优化
  • 做网站能拿多少钱软文营销是什么
  • 家居建材网站源码电商网站开发
  • 北京网站建设seo优化企业seo网站营销推广
  • 网站建设策划书ol购物网站排名
  • 网站黑链 工具百度竞价排名推广
  • 网站制作的论文查排名官网
  • 互联网公司中国排名seo岗位培训
  • 私人做网站费用seo优化团队
  • wordpress网站如何迁移抖音广告投放平台官网
  • 武汉洪山区做网站的公司2345网址导航电脑版官网
  • 昆明如何做百度的网站营销的概念是什么
  • 网站搭建服务器需要什么今日新闻10条简短
  • 苏州建设银行招聘网站厦门百度seo排名
  • 广东建设局网站首页西安网络公司
  • 免费微信微网站模板下载做网站需要准备什么
  • 娄底网站建设的话术营销推广的平台
  • 做网站需要用什么技术网站推广优化
  • 网站二次开发模板怎样在网上推广
  • cms做网站不用后端关键词优化seo外包
  • 哪里有零基础网站建设教学服务外链工具
  • 技术网站网推什么意思
  • 上海太江建设网站seo 网站排名
  • 网站开发委托协议深圳市seo点击排名软件价格
  • 丹东 建设集团 招聘信息网站网上全网推广
  • 网站域名过期后续费多长时间生效360搜索引擎下载
  • 开个做网站要多少钱百度快速收录账号购买
  • 光谷软件园网站建设网络推广培训