下载帮

您现在的位置是:首页 > 数据库 > MsSQL

MsSQL

SQL学习:SQL必会的12个高频常用SQL语句

2022-02-12 16:09MsSQL

在数据库查询中,总结了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数据如下:

现在随机获取一行数据

SELECT TOP 1 * FROM table BY NEWID();

结果如下:

注:多次执行,结果会不一样

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

表Person数据如下:

获取第6到10行数据

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

结果如下:

注:如果希望是升序,可以在外面在加一层SELECT子查询对ID进行升序排序。

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

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

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

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

表table数据如下:

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

 

删除后结果如下:

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

结果如下:

注:默认是直接按姓氏拼音排序

11、将小数转换成百分数

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

结果如下:

 

 

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个高频语句,关注我,一起学习SQL语句,由浅到深带大家一起学习。

文章评论