博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转载】SQL经验小记
阅读量:6099 次
发布时间:2019-06-20

本文共 1687 字,大约阅读时间需要 5 分钟。

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

 

转载地址:http://lxnza.baihongyu.com/

你可能感兴趣的文章
linux 搜索文本
查看>>
超实用Mac软件分享(二)
查看>>
Android JSON数据解析
查看>>
DEV实现日期时间效果
查看>>
java注解【转】
查看>>
Oracle表分区
查看>>
centos 下安装g++
查看>>
嵌入式,代码调试----GDB扫盲
查看>>
类斐波那契数列的奇妙性质
查看>>
配置设置[Django]引入模版之后报错Requested setting TEMPLATE_DEBUG, but settings are not configured....
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>