SQL学习:实例讲解SQL必会的12个高频语句

发布于 2022-4-25 15:08
浏览
0收藏

作者 | 幸福it民工
来源 | 今日头条

在数据库查询中,总结了12个高频常用SQL语句,供大家参考学习:

1、复制表结构,不包括数据(用于建立同一个表结构)

SELECT * INTO A_BAK FROM A WHERE 1=2;
或者
SELECT TOP 0 * INTO A_BAK FROM A;

可以得到与A 表结构一样的A_bak ,而且A_bak 中没有数据

2、复制表结构,包括数据(用于数据库表备份)

select * into student_backup   from student ;

3、查询表里是否存在数据

SELECT TOP 1  1  FROM table

注:第一个1是查询是否存在一条记录,第二个1就是单纯的数值1。

4、随机获取一行数据

表table数据如下:SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区现在随机获取一行数据

SELECT TOP 1 * FROM table BY NEWID();

结果如下:SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区注:多次执行,结果会不一样

5、获取第6到10行的记录

表Person数据如下:SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区获取第6到10行数据

SELECT TOP 5 * FROM (SELECT TOP 10 * FROM Person ORDER BY ID ) a ORDER BY ID DESC

结果如下:  SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区注:如果希望是升序,可以在外面在加一层SELECT子查询对ID进行升序排序。

6、将日期转换成文本格式

SELECT CONVERT(VARCHAR(10),CreateDate,120) FROM Students

注:CreateDate为带时间的完整日期格式,执行后会得到不带时间的字符串,如'2022-01-31'

7、删除其中除ID以为其他都重复的记录

表table数据如下:SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区

DELETE FROM table WHERE ID NOT IN (SELECT MAX(ID) FROM table GROUP BY Name,Age,Sex,Phone)

删除后结果如下:SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区8、将B表中的字段内容更新到A表

UPDATE A SET A.Name=(SELECT B.Name FROM B WHERE A.ID=B.ID)

9、获取笛卡尔积分

SELECT A.*,B.* FROM A,B

10、按姓氏笔画多少排序

SELECT Name FROM table ORDER BY Name Collate Chinese_PRC_Stroke_CI_AS

结果如下:SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区注:默认是直接按姓氏拼音排序

11、将小数转换成百分数

SELECT CAST(CAST((0.8888*100) AS NUMERIC(18,2)) as VARCHAR(20)) + '%'

结果如下:SQL学习:实例讲解SQL必会的12个高频语句-开源基础软件社区12、处理除数为0

SELECT ISNULL(A/NULLIF(B,0),1) FROM TABLEA或SELECT CASE WHEN B=0 THEN 1 ELSE A/B END FROM TABLEA

注:A为任意数值,B为0

以上是在工作总结常用的12个高频语句。
 

收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐