Sql 常见问题

join on and vs join on where

SELECT *
FROM Orders
LEFT JOIN OrderLines ON OrderLines.OrderID=Orders.ID
WHERE Orders.ID = 12345
SELECT *
FROM Orders
LEFT JOIN OrderLines ON OrderLines.OrderID=Orders.ID
    AND Orders.ID = 12345

count(*) vs sum()

Oracle下:
count()会统计所有不为空的行数,count() for the not null count。
sum(null)不做汇总,sum(0)输出为0

-- 输出为1
select count(0) from dual;
-- 输出为 0
select count(null) from dual;
-- 不输出
select sum(null) from dual;
-- 输出为0
select sum(0) from dual;

SQL中= null与is null的区别

SELECT * FROM table WHERE field = null;
SELECT * FROM table WHERE field IS null;

第一行SQL将不会返回任何内容,而第二行将会返回field字段为NULL的行。

原因如下:

在SQL中,null值与另外一个值(包括null值)的逻辑比较(=,!=,<>等),返回的结果也是null,而这个null值在where子句中是被当做false来看待的。null表示”未知“,所以比较的结果也是”未知“。

http://stackoverflow.com/questions/354070/sql-join-where-clause-vs-on-clause

时间: 2024-08-16 10:10:53

Sql 常见问题的相关文章

MaxCompute—MaxCompute SQL 常见问题

我们在进行大数据开发过程中,会遇到各种问题,本文将定期收集整理一些在使用阿里云数加 MaxCompute SQL 过程中遇到的常见问题,供大家参考~ Q. 用 between -- and--报错,如图所示: A. MaxCompute SQL 的 where 子句不支持 between 条件查询 . 更多的 SQL 语法可参见:https://help.aliyun.com/document_detail/48950.html . Q. 一个 sql 里 join 一个百万的小表 6 次,这个

SQL常见问题:如何利用日志还原SQL数据库?

数据|数据库|问题 用 Log Explorer 恢复,如果没有Log Explorer可以用日志文件进行时间点恢复, 将会失去此时间点之后的所有数据库改变 example: 首先对数据库进行日志备份 查询分析器里 1.use northwind insert employees(lastname,firstname) values('aaa','bf') 记下这时的时间 2.过3分钟输入 use northwind insert employees(lastname,firstname) va

阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171122)

  概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速.完全托管的TB/PB级数据仓库解决方案.MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全.本文收录了大量的MaxCompute产品介绍.技术介绍,帮助您快速了解MaxCompute/ODPS. MaxCompute 2.0:阿里巴巴的大数

SQL Server补丁版本的检查和安装过程中常见问题

server|过程|问题 来源:http://www.xfocus.net 一.SQL Server补丁版本的检查 SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响.1.用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入:如果是用

SQL Server补丁安装常见问题 (转)

server|问题 一.SQL Server补丁版本的检查 SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响. 1.用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入:如果是用SQL查询分析器,请从程序中启动,输入sa和密码(也可

SQL Server补丁安装常见问题

server|问题 一.补丁安装过程中常见问题 如果在安装补丁的时候遇到如下类似错误: 1.安装过程中出现"以前进行的程序创建了挂起的文件操作,运行安装程序前,必须重新启动",请按照下面步骤解决: a.重启机器,再进行安装,如果发现还有该错误,请按下面步骤 b.在开始->运行中输入regedit c.到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置 d.选择文件->倒出,保存 e.

SQL Server 2008的升级与部署方法和常见问题

SQL Server 2008的升级与部署方法和常见问题: Q:现在我所在的公司正在使用SQL 2005这个版本,那么SQL 从05升级到SQL 08的PDS(数据保护系统)过程中,我们最好选择什么方法呢?那么在升级到SQL 08后,SSIS(生成高性能数据集成解决方案平台)会不会有所提高呢? A:其实从SQL 2000里面的DPS升级到SQL 2005里面的DPS升级是一样的,我们推荐的方法仍然是重写,因为SQL 2005跟SQL 2008的引擎基本上类似.但是这两个版本跟SQL 2000完全

SQL Server数据库安装时常见问题解决方案集锦_MsSql

本文我们总结了几个在安装SQL Server数据库时常见问题的解决方案,供初学者学习参考,接下来让我们来一起看一下吧. 常见问题一: 安装Sql Server 2000时出现"以前进行的程序创建了挂起的文件操作,运行安装程序之前,必须重新启动计算机" ,重启后仍然无效. 解决方案: 1.不用退出Sql Server 2000安装程序,直接切换到桌面. 2.打开注册表编辑器(在"运行"中敲入"regedit"之后回车即可),定位到注册表的HKEY_

SQL Report Builder 报表里面的常见问题分析_MsSql

一 SQL报表常常会遇到在表格中的相除,如果分母为零,一般会显示错误号,我们可以这么处理:(加上是A/B) =A / iif(B=0,99999999999999, B) 但是我们不能这么写: =iif(B=0,0,A/B)  //我们不能这么写,会产生BUG,至于什么BUG,你们可以自己试试 二 我们假设报表中的某一个格子的名字为A,我们在A中需要引用另一个格子B的值,在这种情况下,我们通常会把B中的计算公式再次引用在A中复制一遍,这样很导致很麻烦. 我们可以在A中直接这么写: ReportI