sqlserver 联接查询的一些注意点
1、内连接的安全性
(1) inner join 是ANSI SQL-92 语法、等值联接是ANSI SQL-89 的语法 ,两者已相同方式解释、在性能上没有差别
(2)但是强烈建议使用ANSI SQL - 92 联接语法、因为它更安全、 当忘记写联接条件、SQL-92 语法会报错,也就是没有ON 会报错、这种安全实际是编码习惯导致的
2、包含缺失值
2.1 需求
查询TSQL2102库中、Order表,要求20060101~20081231每天都有数据输出、对于没有包含订单的日期,以NULL 标记作为订单属性占位符输出
2.2 解决思路
(1)创建数字辅助表dbo.Nums , 具有n 的列,将其填充整数 123.....,使用该表生成范围内所有日期的序列
select
dateadd(day,n-1,'') as orderdate
from dbo.Nums
where n <= datediff(day, '', '')+1
order by orderdate;
(2) 通过Nums 和 Order 做左外连接即可
3.外部连接的逻辑顺序
(1)在单表查询中 from 、where 后面的子句具有“同时操作”的特性,但是在外联接中,from 后面的表连接运算符,按从左往右的逻辑顺序计算
(2)由于逻辑顺序的存在,在外联结多张表是要考虑到拿NULL 去做比较的情况、NULL 做比较结果一定是UNKONWN, 会被ON直接过滤掉
4、外连接使用count聚合引发的一个bug
(1) 使用外连接,若果直接使用count(*)的话,会将null也计算其中
(2) 但是如果count(col) ,且col 是外部列就不会将NULL的记录计算进来
sqlserver 联接查询的一些注意点的更多相关文章
- SqlServer 高级查询
		
高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex from ...
 - SqlServer 一个查询语句以致tempdb增大55G (转载)
		
SqlServer 一个查询语句导致tempdb增大55G 今天操作着服务器,突然右下角提示“C盘空间不足”! 吓一跳!~ 看看C盘,还有7M!!!这么大的C盘空间怎么会没了呢?搞不好等下服务器会动不 ...
 - 【T-SQL基础】02.联接查询
		
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
 - 浅谈T-SQL中的联接查询
		
引言 平时开发时,经常会使用数据库进行增删改查,免不了会涉及多表联接.今天就简单的记录下T-SQL下的联接操作. 联接类型及其介绍 在T-SQL中联接操作使用的是JOIN表运算符.联接有三种基本的类型 ...
 - SQLServer中查询的数字列前面补0返回指定长度的字符串
		
SQLServer中查询的数字列前面补0返回指定长度的字符串: 如: 角本如下: /****** Script for SelectTopNRows command from SSMS ******/ ...
 - SQLServer分页查询存储过程
		
项目中用到的SQLServer分页查询存储过程. [存储过程] create PROCEDURE prcPageResult -- 获得某一页的数据 -- @currPage int = 1, ...
 - SQLServer 分组查询相邻两条记录的时间差
		
原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操 ...
 - LINQ to Sql系列二 简单查询和联接查询
		
这一篇文章主要总结LINQ to sql的简单查询(单表查询)和联接查询(多表查询) 单表查询 需求是我们要输出TClass表中的结果.使用了from-in-select语句,代码如下: public ...
 - ibatis中多表联接查询
		
 目前,我在做项目的时候,用到了spring + struts2 +ibatis 框架.平时用到的都是一张简单的表,来进行数据的增.删.改.查.而现在突然需要用到其它的一张表,或多张表进行联接查询 ...
 
随机推荐
- centos 安装 memcached
			
centos 安装 memcached 1. 安装依赖: libeventyum install libevent-devel 2. 获取最新版本wget http://memcached.org/l ...
 - CSS-font
			
font:[ [ <' font-style '> || <' font-variant '> || <' font-weight '> ]? <' font ...
 - BUU pwn cn
			
自己不细心,人家别的博客上写的明明没有那个冒号的,把linux命令好好学一学吧! nc后 ls 发现flag文件 cat就得到flag了
 - hostPath Volume【转】
			
hostPath Volume 的作用是将 Docker Host 文件系统中已经存在的目录 mount 给 Pod 的容器.大部分应用都不会使用 hostPath Volume,因为这实际上增加了 ...
 - iOS Framework制作流程
			
1.新建工程选择iOS —> Cocoa Touch Framework 2.进入创建好的工程删除掉自带的工程同名头文件 3.添加所需文件 4.TARGETS —> Build Setti ...
 - spring#事件发布订阅
			
1. 如果在应用中发生了某些事件,事件会被拦截和处理就好了,这样就有了很大的灵活性,至少代码不会紧密的耦合在一起, 代码的解耦就是业务的解耦,业务A的代码不用手动的调用业务B的代码,业务B只需要监听相 ...
 - 【LOJ6498】「雅礼集训 2018 Day2」农民
			
题面 solution 直接暴力模拟,原数据可获得满分的成绩. 对于每个点,其父亲对其都有一个限制.故我们只需要判断当前点到根的路径上的限制是否都能满足即可. 考虑用树剖+线段树维护这个限制.考虑到翻 ...
 - 关于http的两种上传方法
			
http传输数据GET和POST的两种方法: 1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示. 2.get方式传递的参数可以在URL上看见,安全性不高,反之post安全 ...
 - GDOI#345. 送礼物「JSOI 2015」01分数规划+RMQ
			
题目描述 JYY和CX的结婚纪念日即将到来,JYY来到萌萌开的礼品店选购纪念礼物.萌萌的礼品店很神奇,所有出售的礼物都按照特定的顺序都排成一列,而且相邻的礼物之间有一种神秘的美感.于是,JYY决定从中 ...
 - WMware workstation 镜像文件
			
https://mirrors.aliyun.com/centos/7.4.1708/isos/x86_64/