sql 整理积累

本文介绍了SQL中的各种查询技巧,包括左连接(left join)、右连接(right join)、条件查询(CASE WHEN)、UNION与UNION ALL的区别及使用场景、EXCEPT运算符的用法,以及如何使用NEWID()进行随机排序等实用技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 SELECT * from (SELECT * FROM dbo.xcqy2017_Article WHERE Kind=53) AS t1 
2 LEFT JOIN (SELECT * FROM dbo.xcqy2017_News_Classification) AS t2 ON t2.Ncid = t1.Ncid
left join左链接 以左表为主表
1 SELECT * from (SELECT * FROM dbo.xcqy2017_Article WHERE Kind=53) AS t1 
2 RIGHT JOIN (SELECT * FROM dbo.xcqy2017_News_Classification) AS t2 ON t2.Ncid = t1.Ncid
right join右链接 以右表为主表
1 SELECT 
2     CASE 
3         WHEN Kind = 53 THEN '新闻动态' 
4         WHEN Kind = 53 THEN '新闻动态'
5     ELSE '其他' 
6     END '新闻动态1'
7 ,* FROM dbo.xcqy2017_Article 
CASE WHEN THEN ELSE END条件查询

 

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

UNION运算符 默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

SELECT Aid,Alive,Layer FROM dbo.xcqy2017_Article UNION SELECT Ncid,Alive,Layer FROM dbo.xcqy2017_News_Classification 

UNION ALL运算符 UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。 

SELECT Aid,Alive,Layer FROM dbo.xcqy2017_Article UNION ALL SELECT Ncid,Alive,Layer FROM dbo.xcqy2017_News_Classification 

 

EXCEPT运算符 EXCEPT运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行(不知道能不能行,因为版本问题,测试未成功)。

SELECT Ncid FROM dbo.xcqy2017_Article EXCEPT SELECT Ncid FROM dbo.xcqy2017_News_Classification

 

列出表里的所有的字段

select name from syscolumns where id=object_id('xcqy2017_Article') 

 

NEWID()随机id排序

SELECT * FROM dbo.xcqy2017_Article ORDER BY NEWID()

  

 

转载于:https://www.cnblogs.com/hyd1213126/p/7490743.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值