sql冷门知识

业务中写SQL时碰到的很冷门的问题,大部分技术人员可能都不知道

①拼接字符串时,参数为null,+任何值都为null

如 SELECT 1+NULL   

拼接是,套个ISNULL()

②子查询时,子表没有的字段会从主表取值

a表 知道

CREATE TABLE a
(
FID INT,
FName CHAR(10)
)
CREATE TABLE b
(
FName CHAR(10)
)
SELECT * FROM a
WHERE FID IN (SELECT FID FROM b)

SELECT * FROM dbo.a
LEFT JOIN dbo.b ON FID=FID

关联时,请带上表名或别名

 ③  判断null 和其他不等时,无法判断,但再系统sql中不会报错,会过滤掉数据

SELECT NULL!=2

④top 参数化 +()就可

DECLARE @n int
SET @n=5
SELECT TOP (@n) * FROM a

posted @ 2019-11-25 15:12  瓜甜  阅读(176)  评论(0编辑  收藏  举报