例如
select * from tbl_a a
left join tbl_b b on b.docno=a.docno and b.project=a.project
where a.docno='xxx'
发现a的project列和b的project列都为 null
于是匹配不到值
最后改为:
select * from tbl_a a
left join tbl_b b on b.docno=a.docno and isnull(b.project,0)=isnull(a.project,0)
where a.docno='xxx'
即可
相关推荐
### SQL Server 表连接知识点详解 #### 一、引言 在SQL Server中,表连接是一种非常重要的查询技术,它允许我们从两个或多个表中提取数据并进行整合。通过不同的连接类型,我们可以灵活地控制如何结合这些表中的...
在SQL Server中,ISNULL和NULLIF是两个非常重要的函数,它们主要用于处理NULL值,确保数据的完整性和一致性。在数据库操作中,NULL值经常会出现,尤其是在进行比较、计算或者查询时,理解并正确使用这两个函数是提升...
Oracle 和 SQL Server 都是广泛使用的数据库管理系统,但它们在处理系统表方面存在显著的差异。以下是关于这两个数据库系统的一些关键知识点对比: 1. **Oracle 系统视图**: - `all_objects` 视图包含所有数据库...
根据提供的标题、描述、标签及部分内容,我们可以提炼出关于 SQL Server 单表查询的重要知识点,以下将对这些知识点进行详细解读: ### SQL Server 单表查询基础 #### 1. 数据库创建与删除 在 SQL Server 中,可以...
SQL Server中的表连接是数据库操作中的核心概念,用于合并来自多个表的数据。本文将深入探讨各种类型的表连接,包括内部连接、外部连接(左连接、右连接、全连接)以及交叉连接,并通过实例来解释它们的工作原理。 ...
SQL Server 中的表连接是数据库查询中的关键操作,它允许从多个表中检索数据并组合成一个结果集。本文主要介绍了五种类型的表连接:内部连接、外部连接(包括左连接、右连接和全外连接)、交叉连接以及自连接,并...
本文将深入解析 SQL Server 2005 的基本方法与常用语句,包括数据库的创建与删除、表的创建与修改、数据的插入与删除等关键操作,旨在为数据库管理员和开发者提供全面的指导。 #### 1. 创建数据库 创建数据库是...
在MyEclipse中进行Java项目开发时,连接SQL Server数据库是一项基本操作,这对于构建数据驱动的应用程序至关重要。本文将深入探讨如何在MyEclipse的Java Project中实现与SQL Server数据库的连接,并提供一个实例源码...
标题中的“SQL多表连接查询优化的相关研究”指的是在数据库管理中,如何高效地执行涉及多个数据表的SQL查询操作。在SQL(Structured Query Language)中,连接查询(JOIN)是用于合并两个或更多表中的数据的关键技术...
在SQL Server的学习过程中,链表查询是一个至关重要的概念,它涉及到如何有效地检索和操作数据库中的数据。本套练习题旨在帮助学者深入理解和掌握SQL Server中关于链表查询的相关技巧和方法。通过解决这些测试题,你...
SQL Server 2008是Microsoft推出的一款关系型数据库管理系统,是学习数据库管理和开发的重要工具。本教程将介绍SQL Server 2008的基础知识,包括SQL语言的基本概念和高级特性,适合初学者入门。 首先,SQL...
它支持多种数据库连接,是SQL Server管理员和开发者的常用工具。 3. 在关系数据库中,主键是一个能够唯一标识元组(记录)的属性集。它确保了数据的唯一性和完整性。 4. 在T-SQL中,单行注释通常以"--"开始,直到...
- **字符串连接**:MS SQL Server 使用 `+` 连接字符串,而 PostgreSQL 使用 `||`。 - **处理 NULL 字符**:两者都支持使用 `COALESCE` 或 `NULLIF` 函数来处理 NULL 值。 #### 类型转换 - **数字类型转换成格式...
"SQL Server练习50题"是一个非常实用的资源,旨在帮助用户巩固SQL Server的基础知识,特别是查询和多表查询这两方面的重要技能。下面将对这两个主题进行详细讲解。 一、SQL Server查询基础 SQL(Structured Query ...
下面是 SQL Server 语言大全,涵盖了创建数据库、备份、创建表、索引、视图、基本 SQL 语句、复杂查询等方面的知识点。 一、创建数据库 创建数据库是 SQL Server 中的基本操作,使用 CREATE DATABASE 语句可以创建...
在深入探讨《SQL Server2008 Data Profiling揭示SQL Server 2008集成服务中隐藏的宝藏》这篇文章所蕴含的知识点之前,我们需要先了解SQL Server 2008及其数据质量评估工具——数据概要分析(Data Profiling)。SQL ...
SQL Server中的CROSS APPLY和OUTER APPLY是两种特殊的表运算符,它们在2005版本及以上引入,主要用于处理复杂的数据转换和联接操作。这些运算符的主要区别在于如何处理右表表达式的结果。 CROSS APPLY用于执行内联...
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; String userName = "sa"; String userPwd = ""; Connection dbConn = null; try { Class.forName(driverName); dbConn = ...