Sql 常见问题-阿里云开发者社区

开发者社区> flowerszhong> 正文

Sql 常见问题

简介: join on and vs join on where SELECT * FROM Orders LEFT JOIN OrderLines ON OrderLines.OrderID=Orders.ID WHERE Orders.
+关注继续查看

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9943 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13691 0
Sql Server 不常见应用之一:获取表的基本信息、字段列表、存储过程参数列表
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/7847416   【推荐】Sql Server 不常见应用之一 获取表的基本信息、字段列表、存储过程参数列表   ——通过知识共享树立个人品牌。
563 0
MS SQL 挑战问题
群里面有位网友提出了这样一个SQL挑战问题(原话不是这样,为了说明问题,我略做调整些): 问题说明如下 有一条个销售报表TEST : 商品 金额 A 1400 B 800 C 790 .
680 0
【技术贴】sql2005最常见的问题笔记。
1.在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 解决办法: 在SQLServer 实例上启用远程连接1.
952 0
+关注
flowerszhong
编程语言相关技术专家
149
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载