Sql Server数据库之多表查询
一.连接查询
概念:根据两个表或多个表的列之间的关系,从这些表中查询数据
目的:实现多表查询操作
语法:From join_table join_type join_table[ON(join_condition)]
join_table:连接的表名
join_type:连接类型
join_condition:连接条件
连接类型:内连接,外连接,交叉连接
二.内连接
1.等值连接
概念:在连接条件中使用"="运算符,其查询结果中列出被连接表中的所有列,包括其中的重复列
示例:
create table student
(
studentId int not null primary key,
studentName ) not null,
classId int not null
)
create table class
(
classId int not null primary key,
className ) not null
)
,);
,);
,);
,);
,);
,);
,'逗哏班');
,'捧哏班');
select * from student s inner join class c on s.classId = c.classId

2.不等值连接
概念:在连接条件中使用除等号之外的运算符
示例:
select * from student s inner join class c on s.classId != c.classId

三.外链接
1.左连接
左表结构:

右表结构:

左连接查询:
select * from student s left join class c on s.classId = c.classId
查询结果:
总结:左连接:返回左表中的所有行,如果左表行在右表中没有匹配行,则结果中右表中的列返回控制
2.右连接
右连接查询:
select * from student s right join class c on s.classId = c.classId
查询结果:

总结:右连接:恰与左连接相反,返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值。
3.全连接
全连接查询
select * from student s right join class c on s.classId = c.classId
查询结果

总结:全连接:返回左表和右表中的所有行,当某行在另一表中没有匹配行,则灵异表中的列返回空值
四.交叉连接(笛卡尔积)
1.不带where子句
执行交叉连接:
select * from student cross join class
查询结果:

2.带where子句
执行交叉连接:
select * from student s cross join class c where s.classId = c.classId
查询结果:

Sql Server数据库之多表查询的更多相关文章
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- 清空SQL Server数据库中所有表数据的方法
原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...
- sql server数据库备份单个表的结构和数据生成脚本
1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...
- sql server数据库备份单个表的结构和数据生成脚本【转】
1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...
- SQL server 数据库 操作及简单查询
使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...
- sql server数据库将excel表中的数据导入数据表
一般有两种方法可以实现,一种是直接写sql语句,另外一种是利用sqlserver的管理工具实现.这里介绍的是后面一种方法. 步骤: 一.准备数据 1.将excel表另存为文本格式,注意文本格式需为ta ...
- 在sql server数据库的一个表中如何查询共有多少字段
select a.* from sys.columns a,sys.tables bwhere a.object_id = b.object_id and b.name = '要查的表名'
- SQL Server数据库阻塞,死锁查询
sql 查询卡顿数据库 SELECT SPID=p.spid, DBName = convert(CHAR(20),d.name), ProgramName = program_name, Login ...
- sql server数据库查看锁表和解锁
--查看锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys ...
随机推荐
- R实用小技巧
输出重定向 # 文本重定向 # cat cat("hello",file="D:/test.txt", append=T) # sink("filen ...
- 页面滚动图片等元素动态加载插件jquery.scrollLoading.js
如果一个网页很长,那么该页面的加载时间也会相应的较长.而这里给大家介绍的这个jQuery插件scrollLoading的作用则是,对页面元素进行动态加载,通俗的说就是滚到哪就加载到哪,屏幕以下看不见的 ...
- RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备-【申嵌视频-RK3399篇】
实验2:RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备,比如外接一个LED模块,通过GPIO1_A0管脚 1 介绍 LED模块 Matrix-LE ...
- Schema、API Schema与MFn
大部分知识都是相通的,Maya和USD在设计上有很多相似之处,USD的Schema粗看很难理解,但实际上与Maya的MFn有着异曲同工之处.这篇文章会简单介绍一下这两个知识点,做个对比,了解下它们在各 ...
- h5互动课件动画如何实现?如何快速开发h5互动课件动画
最近几年随着h5的兴起,复杂的h5动画,甚至是交互动画类型的产品不断涌现,尤其在课件产品方面,很多公司都有相关需求,最近很多h5开发工程师想了解相关方面的技术. 针对h5,如果是简单的动画效果,可以考 ...
- Azure CosmosDB (7) 分区键Partition Key
<Windows Azure Platform 系列文章目录> Azure Cosmos DB使用分区键(Partition Key),来对数据进行水平缩放(Horizon Scale), ...
- Linux下MySQL编码的修改
默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值. mysql> show variables like '%character%'; 说明:以下是在Cent ...
- bpmn-js起步
https://blog.csdn.net/u013253924/article/details/85784002 通过本文逐步熟悉bpmn-js. 快速介绍: bpmn.js是一个BPMN2.0渲染 ...
- 'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
之前python2.7是没有pip的,需要安装python3.6 以上. 但是安装3.6版本后,还是一样.官网提示需要执行以下命令:python -m ensurepip --default-pip ...
- [转]SQL中的case when then else end用法
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' EN ...