【2017-03-13】Tsql 表连接

笛卡尔积          穷举

在未建立连接的情况下,将car表的name列和brand表的brand_name列进行笛卡尔积查询后,实际是将两列相乘,进行穷举,列举出所有可能性

表连接:将多个表不同列的数据查询到一起

1.横向连接

select 列a,列b from 表p,表q where p.o=q.o         o为两表中同时拥有的一列

另一种写法 select 列a,列b from 表p join 表q on p.o=q.o

例:select Student.Sno,Sname,Cno,Degree from Student,Score where Student.Sno=Score.Sno

=   select Student.Sno,Sname,Cno,Degree from Student join Score on Student.Sno=Score.Sno

在 join前加上left 是以 join左边的表为主      select Student.Sno,Sname,Cno,Degree from Student left join Scroe on Student.Sno=Scroe.Sno

在 join前加上right是以join右边的表为主      select Student.Sno,Sname,Cno,Degree from Student right join Scroe on Student.Sno=Scroe.Sno

2.纵向连接      两个表之间添加  union

只有两个表列数一样,每列对应的数据类型一样,才可以进行纵连接

时间: 2024-12-19 01:57:34

【2017-03-13】Tsql 表连接的相关文章

2017/03/13学习笔记

cout<<标准输出cin>>标准输入定义一个类,是一个抽象概念,不会给你分配内存.用数据类型定义变量的时候,才会分配内存. C语言是在实践的过程中逐步完善起来的.没有深思熟虑的设计过程.使用时存在很多的"灰色地带"残留量过多低级语言的特征直接利用指针进行内存操作.C语言的目标是高效最终程序执行效率的高效C语言和C++并不是对立的竞争关系.C++ 是C语言的加强,是一种更好的C语言.C++ 是以C语言的为基础,并且完全兼容C语言的特性 C语言中无法取得regis

表连接、Tsql基本编程和存储过程

表连接:将多个表的数据一次性查询出来,共同显示 子查询方式:select 列名1,列名1,(select 列名2 from 表名2 where 表名2.共同列名=表名1.共同列名) from 表名1 -- .就是的意思 笛卡尔积:有点像穷举select 列名1,列名2 from 表名1,表名2 --把第一个表的数据挨个拿出来跟第二个表所有数据进行对比一下,得出来是两个表数量的相乘where 表名2.共同列名=表名1.共同列名 join on:select 列名1,列名2 from 表名1 joi

表连接、TSQL基本编程、存储过程

表连接:将多个表的数据一次性查询出来,共同显示 子查询方式: select (select 列 from 名where 名.列 = 名.列)列 from 名 笛卡尔积: select 列,列from 名,名 where 名.列 =名.列 join on: seect 列,列 from 名 join 名 on 名.列=名.列 inner join on ;left join on;左表中右表没有的显示完整right join on ;右表中左表没有的显示完整 注意:必须添加where条件或on后面

oracle 表连接 - hash join 哈希连接

一. hash 连接(哈希连接)原理 指的是两个表连接时, 先利用两表中记录较少的表在内存中建立 hash 表, 然后扫描记录较多的表并探測 hash 表, 找出与 hash 表相匹配的行来得到结果集的表连接方法. 哈希连接仅仅能用于等值连接条件(=). 如果以下的 sql 语句中表 T1 和 T2 的连接方式是哈希连接, T1 是驱动表 select * from T1, T2 where T1.id = T2.id and T1.name = 'David'; oracle 运行过程例如以下

SQL Server三种表连接原理

http://msdn.microsoft.com/zh-cn/library/dn144699.aspx 简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种.理解这三种物理连接是理解在表连接时解决性能问题的基础,下面我来对这三种连接的原理,适用场景进行描述. 嵌套循环连接(Nested Loop J

Mysql 表连接查询

1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和courses表中学生标识号相同的所有行.       2.外联接.外联接可以是左向外联接.右向外联接或完整外部联接.     在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     1)LEFT  JOIN或LEFT OUTER JOIN     左向外联接的结果集包括  LEF

Hadoop阅读笔记(三)——深入MapReduce排序和单表连接

继上篇了解了使用MapReduce计算平均数以及去重后,我们再来一探MapReduce在排序以及单表关联上的处理方法.在MapReduce系列的第一篇就有说过,MapReduce不仅是一种分布式的计算方法,更是一种解决问题的新思维.新思路.将原先看似可以一条龙似的处理一刀切成两端,一端是Map.一端是Reduce,Map负责分,Reduce负责合. 1.MapReduce排序 问题模型: 给出多个数据文件输入如: sortfile1.txt 11 13 15 17 19 21 23 25 27

MySQL Study之--MySQL 表连接

MySQL Study之--MySQL 表连接 一.Join语法概述 join 用于多表中字段之间的联系,语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON condition table1:左表:table2:右表. JOIN 按照功能大致分为如下三类: INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录. LEFT JOIN(左连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录

10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法

10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法 扩展(selinux了解即可) selinux教程 http://os.51cto.com/art/201209/355490.htm selinux pdf电子书 http://pan.baidu.com/s/1jGGdExK 10.11 linux网络相关 -ifconfig 命令在centos7 是没有的,需要安装yum inst