SQL是与关系数据库进行交互的强大工具。使用SQL中的表格时,通常需要将数据组合起来。这是加入操作帮助的地方。左联接和左外连接是两个常用的命令。尽管它们看起来有所不同,但实际上它们执行了相同的功能。让我们了解SQL左JOIN与左外外连接之间的工作和差异。
:返回匹配行的辅助表。>
SELECT columns FROM left_table LEFT JOIN right_table ON left_table.column_name = right_table.column_name;column_name
:用于连接两个表的列。
语法
SELECT employees.name, departments.department_name FROM employees LEFT JOIN departments ON employees.department_id = departments.id;使用与上述相同的示例,我们可以按以下方式重写我们的查询:
> 如您所见,语法与左联接相同。唯一的区别是包含ofter。
>>
左外联机的示例>此查询还可以检索所有员工及其相应的部门名称,就像左JOIN一样。如果未分配给任何部门的员工,则结果将显示为部门名称的null。
也阅读:从基础到提高级别的SQL指南 左JOIN 和
实际示例:左联接和左外连接
现在,让我们创建员工和部门表。
输出:
输出:
>左JOIN查询
将您的SQL知识与这些SQL项目进行测试! Q3。左加入是否包括null值?是的,当左表不匹配一排时,左联节点从右表中的列返回。我可以使用左连接和左外连接互换?是的,您可以在SQL查询中使用左联接和左外连接。两者都会产生相同的结果。> sql左联接与左外的联接
可能会出现不同,但它们在SQL中在功能上相同。唯一的区别在于语法:
关键字,以确保清晰。两个命令都返回相同的结果,因此它们之间的选择是个人或组织偏好的问题。
>
>使用员工和部门表创建示例数据库,然后使用左JOIN和右JOIN示例,您可以使用以下SQL命令。
>步骤1:创建数据库SELECT columns
FROM left_table
LEFT JOIN right_table
ON left_table.column_name = right_table.column_name;
>步骤2:创建表
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.id;
步骤3:将数据插入表
现在,将一些示例数据插入两个表中:SELECT columns
FROM left_table
LEFT OUTER JOIN right_table
ON left_table.column_name = right_table.column_name;
SELECT employees.name, departments.department_name
FROM employees
LEFT OUTER JOIN departments
ON employees.department_id = departments.id;
现在,数据库和表已使用数据填充并填充了,您可以运行左JOIN和右JOIN查询。
CREATE DATABASE company_db;
USE company_db;
输出:右加入查询
-- Create the 'departments' table
CREATE TABLE departments (
id INT PRIMARY KEY,
department_name VARCHAR(100) NOT NULL
);
-- Create the 'employees' table
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(id)
);
输出:何时使用左JOIN或左外连接
>数据检索
常见问题
> Q1。左联接和左外连接之间有什么区别?没有区别。 左联接和左外连接在功能上相同。术语“外部”是可选的,用于清晰。我什么时候应该使用左JOIN?当您需要从左表中的所有记录时,即使在右表中没有匹配记录。
以上是sql左联接与左外的联接的详细内容。更多信息请关注PHP中文网其他相关文章!