代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
MSSQL
】
多表查询及区别
作者:
Dezai.CN
/ 发布于
2012/2/29
/
647
<div><span style="color: rgb(0, 128, 128);">/*</span><span style="color: rgb(0, 128, 128);">-- ================================================= Description: 多表查询 ** --------------------------------------------------- Environment: WIN 7 , SQL SERVER 2008 Database: TEST Author: CC Create date: 2012.01.19 ** --------------------------------------------------- explain: 通过实例查询结果来了解数据库各种连接方式 内、外连接、交叉连接、条件过滤连接 -- ================================================ </span><span style="color: rgb(0, 128, 128);">*/</span> <span style="color: rgb(0, 0, 255);">USE</span> test <span style="color: rgb(0, 0, 255);">GO</span> <span style="color: rgb(0, 0, 255);">CREATE</span> <span style="color: rgb(0, 0, 255);">TABLE</span> province_id( p_id <span style="color: rgb(0, 0, 255);">int</span>, season <span style="color: rgb(0, 0, 255);">varchar</span>(<span style="color: rgb(128, 0, 0); font-weight: bold;">50</span>) ) <span style="color: rgb(0, 0, 255);">INSERT</span> <span style="color: rgb(0, 0, 255);">INTO</span> province_id <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">1</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">春节</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">2</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">夏季</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">3</span>, <span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">秋季</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">4</span>, <span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">冬季</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">CREATE</span> <span style="color: rgb(0, 0, 255);">TABLE</span> basedata( id <span style="color: rgb(0, 0, 255);">int</span>, name <span style="color: rgb(0, 0, 255);">varchar</span>(<span style="color: rgb(128, 0, 0); font-weight: bold;">20</span>), province <span style="color: rgb(0, 0, 255);">varchar</span>(<span style="color: rgb(128, 0, 0); font-weight: bold;">50</span>) ) <span style="color: rgb(0, 0, 255);">alter</span> <span style="color: rgb(0, 0, 255);">table</span> basedata <span style="color: rgb(0, 0, 255);">alter</span> <span style="color: rgb(0, 0, 255);">column</span> province <span style="color: rgb(0, 0, 255);">varchar</span>(<span style="color: rgb(128, 0, 0); font-weight: bold;">15</span>) <span style="color: rgb(0, 0, 255);">INSERT</span> <span style="color: rgb(0, 0, 255);">INTO</span> basedata <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">1</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">张三</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">北京</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">2</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">李四</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">上海</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">2</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">王五</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">深圳</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">2</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">陈六</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">南京</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">2</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">曾七</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">重庆</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">3</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">李一</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">南阳</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">4</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">陈冬</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">吉林</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">4</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">陈醋</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">长春</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">3</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">禚高</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">襄阳</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">1</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">杨光</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">苏州</span><span style="color: rgb(255, 0, 0);">'</span> <span style="color: rgb(0, 0, 255);">INSERT</span> <span style="color: rgb(0, 0, 255);">INTO</span> basedata <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">5</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">春夏</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(0, 0, 255);">NULL</span> <span style="color: rgb(0, 0, 255);">UNION</span> <span style="color: rgb(128, 128, 128);">ALL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 0, 0); font-weight: bold;">6</span>,<span style="color: rgb(255, 0, 0);">'</span><span style="color: rgb(255, 0, 0);">秋冬</span><span style="color: rgb(255, 0, 0);">'</span>,<span style="color: rgb(0, 0, 255);">NULL</span> <span style="color: rgb(0, 0, 255);">SELECT</span> ID,name,province <span style="color: rgb(0, 0, 255);">FROM</span> basedata <span style="color: rgb(0, 0, 255);">GROUP</span> <span style="color: rgb(0, 0, 255);">BY</span> id,name,province <span style="color: rgb(0, 0, 255);">ORDER</span> <span style="color: rgb(0, 0, 255);">BY</span> ID <span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">连接主要分内连接,只返回两个表中的相关记录;另一种是外连接,先返回一个表中的所有行,然后返回第二个表中的相关行</span><span style="color: rgb(0, 128, 128);"> </span> <span style="color: rgb(0, 128, 128);">/*</span><span style="color: rgb(0, 128, 128);">-- 1、内连接 目的:将一个表中的记录和另一个表中的记录的对应记录进行匹配,前提是两个表的相关列包含相同的值。 如果其中一个表的列值不同,或者根本没有值,查询将不会返回这些行。 inner join ... ON 和 join ... ON 相同 即为等值连接 --</span><span style="color: rgb(0, 128, 128);">*/</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">INNER</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 0, 255);">ORDER</span> <span style="color: rgb(0, 0, 255);">BY</span> A.p_id <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 0, 255);">ORDER</span> <span style="color: rgb(0, 0, 255);">BY</span> A.p_id <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK), basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">WHERE</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 0, 255);">ORDER</span> <span style="color: rgb(0, 0, 255);">BY</span> A.p_id --老式写法 p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 1 杨光 苏州 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 3 禚高 襄阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 (10 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 1 杨光 苏州 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 3 禚高 襄阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 (10 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 1 杨光 苏州 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 3 禚高 襄阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 (10 行受影响) <span style="color: rgb(0, 128, 128);">/*</span><span style="color: rgb(0, 128, 128);"> 2、外链接用于从一个表中返回所有的行,然后匹配相关表中具有相同连接连值的行。外连接与内连接的区别是,在外连接中,查询将返回 第一个表中不匹配的行。。 LEFT OUTER JOIN ...ON 和 LEFT JOIN .... ON 相同 RIGHT OUTER JOIN ... ON 和RIGHT JOIN ... ON 相同 </span><span style="color: rgb(0, 128, 128);">*/</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(128, 128, 128);">LEFT</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(128, 128, 128);">LEFT</span> <span style="color: rgb(128, 128, 128);">OUTER</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">---------------------------------------------</span><span style="color: rgb(0, 128, 128);"> </span><span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(128, 128, 128);">RIGHT</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(128, 128, 128);">RIGHT</span> <span style="color: rgb(128, 128, 128);">OUTER</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 1 杨光 苏州 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 3 禚高 襄阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 (10 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 1 杨光 苏州 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 3 禚高 襄阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 (10 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 3 秋季 3 禚高 襄阳 1 春节 1 杨光 苏州 NULL NULL 5 春夏 NULL NULL NULL 6 秋冬 NULL (12 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 3 秋季 3 禚高 襄阳 1 春节 1 杨光 苏州 NULL NULL 5 春夏 NULL NULL NULL 6 秋冬 NULL (12 行受影响) <span style="color: rgb(0, 128, 128);">/*</span><span style="color: rgb(0, 128, 128);"> 3、非同行连接 运算符 <> < > <= >= 4、特殊目的的连接运算 一、全连接 全连接或全外连接是一种不偏向两个中表的任务一个的外连接,用于返回连接两端不匹配的值 FULL OUTER JOIN 其实就是相当于查询两个表中的所有字段 </span><span style="color: rgb(0, 128, 128);">*/</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">FULL</span> <span style="color: rgb(128, 128, 128);">OUTER</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 1 杨光 苏州 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 3 禚高 襄阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 NULL NULL 5 春夏 NULL NULL NULL 6 秋冬 NULL (12 行受影响) <span style="color: rgb(0, 128, 128);">/*</span><span style="color: rgb(0, 128, 128);"> 二、交叉连接是所有连接的祖先,在使用交叉连接时,不需要指定过行值匹配的连接列,查询只是返回两个表中所有可能的行组合,而 不需要考虑列值的匹配。使用交叉连接会生成所谓的笛卡尔积,产生大量的行,这是用来测试数据填写测试数据库表的高效方法。 CROSS JOIN 其实就相当于 FROM A,B 两个表的无条件连接 </span><span style="color: rgb(0, 128, 128);">*/</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">CROSS</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK), basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 2 李四 上海 1 春节 2 王五 深圳 1 春节 2 陈六 南京 1 春节 2 曾七 重庆 1 春节 3 李一 南阳 1 春节 4 陈冬 吉林 1 春节 4 陈醋 长春 1 春节 3 禚高 襄阳 1 春节 1 杨光 苏州 1 春节 5 春夏 NULL 1 春节 6 秋冬 NULL 2 夏季 1 张三 北京 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 2 夏季 3 李一 南阳 2 夏季 4 陈冬 吉林 2 夏季 4 陈醋 长春 2 夏季 3 禚高 襄阳 2 夏季 1 杨光 苏州 2 夏季 5 春夏 NULL 2 夏季 6 秋冬 NULL 3 秋季 1 张三 北京 3 秋季 2 李四 上海 3 秋季 2 王五 深圳 3 秋季 2 陈六 南京 3 秋季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 4 陈冬 吉林 3 秋季 4 陈醋 长春 3 秋季 3 禚高 襄阳 3 秋季 1 杨光 苏州 3 秋季 5 春夏 NULL 3 秋季 6 秋冬 NULL 4 冬季 1 张三 北京 4 冬季 2 李四 上海 4 冬季 2 王五 深圳 4 冬季 2 陈六 南京 4 冬季 2 曾七 重庆 4 冬季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 4 冬季 3 禚高 襄阳 4 冬季 1 杨光 苏州 4 冬季 5 春夏 NULL 4 冬季 6 秋冬 NULL (48 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 1 春节 1 张三 北京 1 春节 2 李四 上海 1 春节 2 王五 深圳 1 春节 2 陈六 南京 1 春节 2 曾七 重庆 1 春节 3 李一 南阳 1 春节 4 陈冬 吉林 1 春节 4 陈醋 长春 1 春节 3 禚高 襄阳 1 春节 1 杨光 苏州 1 春节 5 春夏 NULL 1 春节 6 秋冬 NULL 2 夏季 1 张三 北京 2 夏季 2 李四 上海 2 夏季 2 王五 深圳 2 夏季 2 陈六 南京 2 夏季 2 曾七 重庆 2 夏季 3 李一 南阳 2 夏季 4 陈冬 吉林 2 夏季 4 陈醋 长春 2 夏季 3 禚高 襄阳 2 夏季 1 杨光 苏州 2 夏季 5 春夏 NULL 2 夏季 6 秋冬 NULL 3 秋季 1 张三 北京 3 秋季 2 李四 上海 3 秋季 2 王五 深圳 3 秋季 2 陈六 南京 3 秋季 2 曾七 重庆 3 秋季 3 李一 南阳 3 秋季 4 陈冬 吉林 3 秋季 4 陈醋 长春 3 秋季 3 禚高 襄阳 3 秋季 1 杨光 苏州 3 秋季 5 春夏 NULL 3 秋季 6 秋冬 NULL 4 冬季 1 张三 北京 4 冬季 2 李四 上海 4 冬季 2 王五 深圳 4 冬季 2 陈六 南京 4 冬季 2 曾七 重庆 4 冬季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 4 冬季 3 禚高 襄阳 4 冬季 1 杨光 苏州 4 冬季 5 春夏 NULL 4 冬季 6 秋冬 NULL (48 行受影响) <span style="color: rgb(0, 128, 128);">/*</span><span style="color: rgb(0, 128, 128);"> 三、使用谓词在连接子句中过滤记录 JOIN ON 连接条件 AND 条件 虽然如此,还是得小心来处理最好还是在内连接的时候使用。如下例: </span><span style="color: rgb(0, 128, 128);">*/</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(128, 128, 128);">RIGHT</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(128, 128, 128);">AND</span> A.p_id<span style="color: rgb(128, 128, 128);">></span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(128, 128, 128);">RIGHT</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 0, 255);">WHERE</span> A.p_id<span style="color: rgb(128, 128, 128);">></span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span> <span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">INNER</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(0, 0, 255);">WHERE</span> A.p_id<span style="color: rgb(128, 128, 128);">></span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span> <span style="color: rgb(0, 128, 128);">--</span><span style="color: rgb(0, 128, 128);">-</span><span style="color: rgb(0, 128, 128);"> </span><span style="color: rgb(0, 0, 255);">SELECT</span> <span style="color: rgb(128, 128, 128);">*</span> <span style="color: rgb(0, 0, 255);">FROM</span> province_id <span style="color: rgb(0, 0, 255);">AS</span> A <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">INNER</span> <span style="color: rgb(128, 128, 128);">JOIN</span> basedata <span style="color: rgb(0, 0, 255);">AS</span> B <span style="color: rgb(0, 0, 255);">WITH</span>(NOLOCK) <span style="color: rgb(0, 0, 255);">ON</span> A.p_id<span style="color: rgb(128, 128, 128);">=</span>B.id <span style="color: rgb(128, 128, 128);">AND</span> A.p_id<span style="color: rgb(128, 128, 128);">></span><span style="color: rgb(128, 0, 0); font-weight: bold;">2</span> p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- NULL NULL 1 张三 北京 NULL NULL 2 李四 上海 NULL NULL 2 王五 深圳 NULL NULL 2 陈六 南京 NULL NULL 2 曾七 重庆 3 秋季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 3 秋季 3 禚高 襄阳 NULL NULL 1 杨光 苏州 NULL NULL 5 春夏 NULL NULL NULL 6 秋冬 NULL (12 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 3 秋季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 3 秋季 3 禚高 襄阳 (4 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 3 秋季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 3 秋季 3 禚高 襄阳 (4 行受影响) p_id season id name province ----------- -------------------------------------------------- ----------- -------------------- --------------- 3 秋季 3 李一 南阳 4 冬季 4 陈冬 吉林 4 冬季 4 陈醋 长春 3 秋季 3 禚高 襄阳 (4 行受影响) <span style="color: rgb(0, 128, 128);">/*</span><span style="color: rgb(0, 128, 128);"> 四、合并查询 连接查询(JOIN) 在水平方向上向上扩展了结果集,这就是说它将多个表的列加入到结果中,使结果变宽。 而UNION(合并)查询则垂直地扩展了结果,它将一个记录堆积在另个记录的顶部。 合并操作可以将多个相同列数的结果组合在一起,但列的数据类型必须是互相兼容的。 UNION DISTINCT 的缩写为UNION UNION ALL运算符只是将两个结果连接在一起 这个练习在上面的插入数据已经运用了。不再在此举例。 </span><span style="color: rgb(0, 128, 128);">*/ 注:SQL 92的标准写法是INNER JOIN ... ON ,LEFT JOIN ...ON 如果只是用FROM 表1,表2 WHERE 连接条件为老式写法。 具体参看《SQL完全手册》 </span></div>
试试其它关键字
多表查询
同语言下
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3