SQL内连接和左连接的区别 - 使用SQLite演示
SQL INNER JOIN 关键字
在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
INNER JOIN 与 JOIN 是相同的。
SQL LEFT JOIN 关键字
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。
也就是;
INNER JOIN只返回左表和右表都有数据的行;LEFT JOIN 返回左表所有的行;
INNER JOIN = JOIN
LEFT JOIN = LEFT OUTER JOIN
Sqlite中示例如下;
全部的CMD操作如下;
Microsoft Windows [版本 6.1.7601]
Copyright (c) 2010 Microsoft Corporation. All rights reserved.
S:\sqlite>sqlite3 wctest1.db
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table Persons(
...> Id_P int primary key not null,
...> LastName varchar(255),
...> FirstName varchar(255),
...> Address varchar(255),
...> City varchar(255));
sqlite> INSERT INTO Persons VALUES (1, 'Adams', 'John', 'Oxford Street', 'London
');
sqlite> INSERT INTO Persons VALUES (2, 'Bush', 'George', 'Fifth Avenue', 'New Yo
rk');
sqlite> INSERT INTO Persons VALUES (3, 'Carter', 'Thomas','Changan Street', 'Bei
jing');
sqlite> create table Orders(
...> Id_O int primary key not null,
...> OrderNo varchar(50),
...> Id_P int);
sqlite> INSERT INTO Orders VALUES (1, '77895', 3);
sqlite> INSERT INTO Orders VALUES (2, '44678', 3);
sqlite> INSERT INTO Orders VALUES (3, '22456', 1);
sqlite> INSERT INTO Orders VALUES (4, '24562', 1);
sqlite> INSERT INTO Orders VALUES (5, '34764', 65);
sqlite> select * from Persons;
1|Adams|John|Oxford Street|London
2|Bush|George|Fifth Avenue|New York
3|Carter|Thomas|Changan Street|Beijing
sqlite> select * from Orders;
1|77895|3
2|44678|3
3|22456|1
4|24562|1
5|34764|65
sqlite> SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
...> FROM Persons
...> INNER JOIN Orders
...> ON Persons.Id_P=Orders.Id_P
...> ORDER BY Persons.LastName;
Adams|John|22456
Adams|John|24562
Carter|Thomas|77895
Carter|Thomas|44678
sqlite> SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
...> FROM Persons
...> left JOIN Orders
...> ON Persons.Id_P=Orders.Id_P
...> ORDER BY Persons.LastName;
Adams|John|22456
Adams|John|24562
Bush|George|
Carter|Thomas|44678
Carter|Thomas|77895
sqlite>
为了看的清楚些;看一下参照的原来的数据;
内连接;
左连接;
SQL:
create table Persons(
Id_P int primary key not null,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255));INSERT INTO Persons VALUES (1, 'Adams', 'John', 'Oxford Street', 'London');
INSERT INTO Persons VALUES (2, 'Bush', 'George', 'Fifth Avenue', 'New York');
INSERT INTO Persons VALUES (3, 'Carter', 'Thomas','Changan Street', 'Beijing');create table Orders(
Id_O int primary key not null,
OrderNo varchar(50),
Id_P int);INSERT INTO Orders VALUES (1, '77895', 3);
INSERT INTO Orders VALUES (2, '44678', 3);
INSERT INTO Orders VALUES (3, '22456', 1);
INSERT INTO Orders VALUES (4, '24562', 1);
INSERT INTO Orders VALUES (5, '34764', 65);SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName;SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
left JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName;
SQL内连接和左连接的区别 - 使用SQLite演示相关推荐
- SQL内连接、左连接、右连接的区别
SQL内连接.左连接.右连接的区别 前言:目前研究生已经毕业,刚刚找到了一份BA数据分析师的工作.目前的工作内容主要是指标的理解和使用SQL将代码写出来.在这里经常用到内连接(inner) join和 ...
- SQL内连接,左连接,右连接区别及联系
目录 数据库建表及其内容 内连接(默认连接) 左连接 右连接 总结: 数据库建表及其内容 stu表 班级表(class) 内连接(默认连接) SELECT stu.stuname , classnam ...
- SQL连接的理解和使用(内连接:自然连接等值连接,外连接:左连接右连接全外连接)
目录 一.连接的介绍 连接是什么? 连接分几种? 条件连接 等值连接 自然连接 二.连接的使用 内连接 INNER JOIN 内连接与等值连接区别 内连接与自然连接区别 外连接 OUTER JOIN ...
- 图解SQL的连接:左连接、右连接、全连接、内连接、自然连接
SQL的连接分为三类: 外连接(包括左连接left join.右连接right join.全连接full join) 内连接 inner join 自然连接 natural join 我们来看一个超级 ...
- SQL语句的内连接,外连接,左连接,右连接,全连接详解例子
SQL语句的内连接,外连接,左连接,右连接,全连接详解例子 1.关系:链接分为内连接,外连接:外连接又分为左连接.右连接和全连接 分别为 内连接:(Inner Join):参与表格以JOIN关键词连在 ...
- 内连接,左连接,右连接作用及区别(数据库相关九)
我们来看个例子: 内连接就是普通的查询,例如 1.加inner join的: SELECT S.SName,C.CourseID,C.Grade From Sc AS C IN ...
- sql内连接、左连接、右连接以及全连接查询
Mysql 一,内连接.左连接.右连接以及全连接查询 一.内连接查询 inner join 关键字:inner join on 语句:select * from a_table a inner joi ...
- SQL语句什么是左连接、右连接、内连接?
1.左连接 以左表为基础,根据ON后给出的两表的条件将两表连接起来.结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分. 左表(table1)全部保留,右表(table2)关联不上 ...
- SQL中常见的几种连接方法-(内连接,左连接,右连接)
连接是数据库主要的特点,通常一个表中不会存放不同实体的信息,不同实体的信息存在不同的表当中,但是要同时查出多个表当中的信息时就需要多个表合并到一起进行查询,此时连接表的作用就出来了. 在表建立时常把一 ...
最新文章
- 参加微软新技术预览大会
- 自己启动spark集群的实验记录
- exfat文件系统_u盘文件系统exfat格式优缺点有哪些【详细介绍】
- conductor任务域
- STL:list用法详解
- edm邮件直投_EDM邮件直投专家
- C++_类和对象_对象特性_成员变量占用对象内存_成员函数_静态成员函数_静态变量_都不占用对象内存_他们是分开存储的---C++语言工作笔记048
- 让无线网卡同时工作在 AP 和 STA 模式
- 六个超大规模Hadoop(前景)
- 自动化测试——何为自动化测试,为何自动化测试
- CentOS 7安装Teamviewer 12
- mysql query profiler_Using the New MySQL Query Profiler
- java date 格式化 yyyymmdd_如何将LocalDate格式化为yyyyMMDD(不含JodaTime)
- 微型计算机 介绍 gtx980m,卡皇GTX980M的横空出世_笔记本评测-中关村在线
- 七天学完Vue之第二天学习笔记(自定指令,过滤器,生命周期函数,动画效果)
- XTU 1336 Perfect Palindrome Number
- 如何修复rpc服务器,打印时弹出RPC服务器不可用修复教程
- 机器人阿郎_机械人阿郎
- P1919 FFT加速高精度乘法
- 使用vscode利用vue脚手架创建项目每次修改代码都会频繁编译