收藏 分销(赏)

一行SQL代码能做什么.docx

上传人:二*** 文档编号:4764780 上传时间:2024-10-12 格式:DOCX 页数:8 大小:45.87KB 下载积分:5 金币
下载 相关 举报
一行SQL代码能做什么.docx_第1页
第1页 / 共8页
本文档共8页,全文阅读请下载到手机保存,查看更方便
资源描述
一行SQL代码能做什么? 万计,都是一些非常 么呢? 〃高端〃的操作,就在想一行SQL代码能做什 导读:最近在知乎上看到一个问题:一行代码可以做什么?答题者数 SQL一行代码其实有很多很多,一些常见的比方: SELECT * FROM TableNameINSERT INTO TableName VALUES(...) TRUNCATE TABLE TableName ・・・・・这些就没什么意思了,我们来给大家看一些比拟〃高级〃的。 1.复制表结构 ELECT * INTO Customers bak FROM Customers WHERE 1=2;或者 ELECT TOP 0 * INTO Customers bak FROM Customers;可以得到与 Customers表结构一样的 Customers_bak ,而且 Customers_bak中没有数据。 2、直询表里是否存在数据 ELECT TOP 11 FROM Customers结果如下: fieldl 1 注:第一个1是查询是否存在一条记录,第二个1就是单纯的数值103、随机获取一行数据 表Customers中数据如下: 客户ID 姓名 地址 城市 省份 1张三1集路27号上海 2李四南京路12号杭州 200000 上海市 310000 浙江省 花城大道17号 广州 510000 4马六江夏路19号 5赵七西二旗12号 武汉 430000 100000 广东省 湖北省 北京市 现在随机获取一行数据 ELECT TOP 1 * FROM Customers ORDER BY NEWID();结果如下: 客户ID 姓名 城市 省份 3 珏 花城大道17号 广州 510000 「未省 注:屡次执行,结果会不一样 4、获取第6到10行的记录表Person数据如下: Name Age Sex Phone 1吕布 25男 2貂蝉 22女 3张飞 23男 4刘备 28男 5关羽 23男 6马超 20男 7赵云 20男 8黄忠 28男 9孙尚香 19女 10诸营亮 26男 11张飞 23男 12黄忠 28男 ID获取第6到10行数据 SELECT TOP 5 * FROM (SELECT TOP 10 * FROM Person ORDER BY ID (提示:可以左右滑动代码) 结果如下: ID Name Age Sex Phone10诸葛亮 10诸葛亮 26 男 9孙尚香 19 女 8黄忠 7赵云 6马超 28男 20男 20男 注:如果希望是升序,可以在外面在加一层SELECT子查询对ID进 行升序排序。 5、对空值赋默认值SELECT ISNULL (Price,0) FROM Orders 注:Price为空值时会默认赋06、将日期转换成文本格式 ELECT CONVERT(VARCHAR(10),CreateDate,120) FROM Students注:CreateDate为带时间的完整日期格式,执行后会得到不带时间 的字符串,如2020-05-31,7、保存2位小数 ELECT CAST(Amount as NUMERIC(18,2)) FROM Orders注:Amount是带2位以上的小数格式,转换后的小数会四舍五入。 8、删除重复记录(除了主键不同,其他字段均相同)表Person数据如下: 2貂蝉 3张飞 4刘备 5关羽 6马超 7赵云 8黄忠 9孙尚香 10诸葛亮 11张飞 12黄忠 ID Name 1吕布 2貂蝉 4刘备 5关羽 6马超 7赵云 9孙尚香 10诸葛亮 11张飞 12黄忠 Age Sex 25美 22女 28男 23男 20男 20男 19女 26男 23男 28男 Phone ID Name Age Sex Phone 1 吕布25 男 22 女 23 男28 男 23 男20 男 20 男28 男 19 女26 男 23 男28 男 删除其中除ID以为其他都重复的记录ELETE FROM Person WHERE ID NOT IN (SELECT MAX(工D) FROM Person GROUP BY Na 删除后结果如下: 9、杳询当前数据库中的所有表名 ELECT NAME FROM SYSOBJECTS WHERE TYPE=U结果如下: NAME Customers Orders Products SuppliersStudent Person10.直询某个表里的所有列名 ELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT ID( 1 Person')结果如下: NAME Age IDName PhoneSex 11,将B表中的字段内容更新到A表 PDATE A SET A.Name=(SELECT B.Name FROM B WHERE A.ID=B.ID)12、获取笛卡尔积 ELECT A.*, B.* FROM A,B13、按姓氏笔画多少排序 ELECT Name FROM Person ORDER BY Name Collate Chinese PRC Stroke CI AS结果如下: Name 马超 关羽 刘备 吕布 孙尚香 张飞 赵云 诸葛 黄忠 貂蝉注:默认是直接按姓氏拼音排序 14、延迟3秒执行直询语句WAITFOR DELAY 10:0:31 SELECT * FROM Person 结果如下: ID Name 1吕布 2貂蝉 4刘备 5关羽 6马超 7赵云 9孙尚香 10诸葛亮 11张飞 12黄忠 Age SexPhone25 男 22 女28 男 23 男20 宪 20 男19 女 26 男23 男 Gia时间:3.065s 28 男WAITFOR DELAY '0:0:3' SELECT * FRO 只读 15 .将查询结果转换为XML格式ELECT * FROM Person WHERE ID=1 FOR XML PATH 结果如下: XMLJ52E2B61 -18A1 -11 d1 -B105-00805F49916B<row><ID> 1 </ID> < Name> 吕布 v/Name> <Age>25</Age><Sex>^</Sex> < Phone>13500C 16 .将小数转换成百分数ELECT CAST(CAST( (0.8888*100) AS NUMERIC(18,2) ) as VARCHAR(20) ) + 1 % 1 结果如下: fieldl88.88% 17、处理除数为0〔SELECT 工SNULL (A/NULLIF (B, 0),工)FROM SELEC^CAS^?HEr^=^rHEr^^ELS^A/^EN^^FROrTABLE^注:A为任意数值,B为0 下次想到一些好用的SQL代码再提供给大家
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服