【转载】SQL经验小记

cross join outer joininner join用法上的区别

举个简单的例子吧,从结果来理解比较具体些。

 

a表

name sex

张三 男

李四 女

 

b表

name age

李四 30

王五 23

 

(1)全外连接

select a.name,a.sex,b.name,b.age

from   a full outer join  b on a.name=b.name

结果如下,

name sex name age

张三 男 NULL NULL

李四 女 李四 30

NULL NULL 王五 23

关联字段name,左表有而右表没有的,如张三,b.name,b.age都为NULL,加上左右两边都有的就是左连接的结果;而右表有而左表表没有的,如王五,a.name,a.sex都为NULL,加上左右两边都有的就是右连接的结果;左右两边都有的如,李四,这就是内连接。相见如下

(2)左

select a.name,a.sex,b.name,b.age

from   a left outer join  b on a.name=b.name

结果如下

name sex name age

张三 男 NULL NULL

李四 女 李四 30

(3)右

select a.name,a.sex,b.name,b.age

from   a right outer join  b on a.name=b.name

结果如下

name sex name age

李四 女 李四 30

NULL NULL 王五 23

(4)内联

select a.name,a.sex,b.name,b.age

from   a inner join  b on a.name=b.name

结果如下

name sex name age

李四 女 李四 30

(5)交叉

select a.name,a.sex,b.name,b.age

from   a cross join  b on a.name=b.name

结果如下

name sex name age

张三 男 李四 30

李四 女 王五 23

张三 男 王五 23

李四 女 李四 30

(6)个人使用心得:

People表主键People_id,作为PeopleSender表的外键

当People表增加一条记录,进行多表联合查询采用Inner Join时候,新增的记录无法显示。

SELECT * FROM People INNER JOIN PeopleSender ON People.People_id = PeopleSender.People_id

INNER JOIN   WorkType ON People.Worktype_id = WorkType.Worktype_id

INNER JOIN   Department ON People.Dept_id = Department.Dept_id

INNER JOIN   Rank ON People.Rank_id = Rank.Rank_id;

修改为SELECT * FROM People left outer join PeopleSender ON People.People_id = PeopleSender.People_id

INNER JOIN   WorkType ON People.Worktype_id = WorkType.Worktype_id

INNER JOIN   Department ON People.Dept_id = Department.Dept_id

INNER JOIN   Rank ON People.Rank_id = Rank.Rank_id;

  1. DataGridView显示数据库的数据,一般不通过添加列的方式更改数据库的字段。
  2. 数据库连接对象是内存中的类的实例,有对象生命周期的说法,但是连接对象的打开和关闭不等同对象在内存中的生成和销毁。
  3. 常见SQL语句

查询select

插入insert

删除delete

更新update

 

posted @   太一吾鱼水  阅读(146)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示