网站黄色在线观看视频,男人和女人操逼有免费的视频吗2018高清,91熟女丨老女人丨高潮丰满,丝袜高潮流白浆潮喷在线播放

中國站

中國站

國際版

聯(lián)系我們

400-002-9968

售前咨詢

售后服務(wù)

注冊 登錄

博客 > SQL知識:17條好用且代碼少的SQL

SQL知識:17條好用且代碼少的SQL

  • 標(biāo)簽:
  • SQL
  • SQL代碼

瀏覽量:3045次評論:0次

作者:銳成網(wǎng)絡(luò)整理時(shí)間:2024-08-09 17:55:41

SQL少則幾行,多則上百行,哪些功能一行SQL就能搞定?以下是一些好用且代碼少的SQL,幫助您一行SQL代碼就可實(shí)現(xiàn)復(fù)制表結(jié)構(gòu)、刪除重復(fù)記錄、獲取笛卡爾積等功能。

1、復(fù)制表結(jié)構(gòu)

SELECT * INTO Customers_bak FROM Customers WHERE 1=2;
或者
SELECT TOP 0 * INTO Customers_bak FROM Customers;

可以得到與Customers 表結(jié)構(gòu)一樣的Customers_bak ,而且Customers_bak 中沒有數(shù)據(jù)。

2、查詢表里是否存在數(shù)據(jù)

SELECT TOP 1  1  FROM Customers

結(jié)果如下:

注:第一個(gè)1是查詢是否存在一條記錄,第二個(gè)1就是單純的數(shù)值1。

3、隨機(jī)獲取一行數(shù)據(jù)

表Customers中數(shù)據(jù)如下:

SQL知識:17條好用且代碼少的SQL

現(xiàn)在隨機(jī)獲取一行數(shù)據(jù)

SELECT TOP 1 * FROM Customers ORDER BY NEWID();

結(jié)果如下:

注:多次執(zhí)行,結(jié)果會(huì)不一樣

4、獲取第6到10行的記錄表Person數(shù)據(jù)如下:
SQL知識:17條好用且代碼少的SQL獲取第6到10行數(shù)據(jù)

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

(提示:可以左右滑動(dòng)代碼)

結(jié)果如下:

SQL知識:17條好用且代碼少的SQL

注:如果希望是升序,可以在外面在加一層SELECT子查詢對ID進(jìn)行升序排序。

5、對空值賦默認(rèn)值

SELECT  ISNULL(Price,0) FROM  Orders

注:Price為空值時(shí)會(huì)默認(rèn)賦0

6、將日期轉(zhuǎn)換成文本格式

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

注:CreateDate為帶時(shí)間的完整日期格式,執(zhí)行后會(huì)得到不帶時(shí)間的字符串,如'2020-05-31'
7、保留2位小數(shù)

SELECT CAST(Amount as NUMERIC(18,2)) FROM Orders

注:Amount是帶2位以上的小數(shù)格式,轉(zhuǎn)換后的小數(shù)會(huì)四舍五入。

8、刪除重復(fù)記錄(除了主鍵不同,其他字段均相同)

表Person數(shù)據(jù)如下:

SQL知識:17條好用且代碼少的SQL

刪除其中除ID以為其他都重復(fù)的記錄

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

刪除后結(jié)果如下:

SQL知識:17條好用且代碼少的SQL

9、查詢當(dāng)前數(shù)據(jù)庫中的所有表名

SELECT   NAME FROM SYSOBJECTS WHERE TYPE='U'

結(jié)果如下:

SQL知識:17條好用且代碼少的SQL

10、查詢某個(gè)表里的所有列名

SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('Person')

結(jié)果如下:

SQL知識:17條好用且代碼少的SQL

11、將B表中的字段內(nèi)容更新到A表

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

12、獲取笛卡爾積

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

13、按姓氏筆畫多少排序

SELECT Name FROM Person ORDER BY Name  Collate Chinese_PRC_Stroke_CI_AS

結(jié)果如下:

SQL知識:17條好用且代碼少的SQL

注:默認(rèn)是直接按姓氏拼音排序

14、延遲3秒執(zhí)行查詢語句

WAITFOR DELAY '0:0:3' SELECT * FROM Person

結(jié)果如下:

SQL知識:17條好用且代碼少的SQL

15、將查詢結(jié)果轉(zhuǎn)換為XML格式

SELECT * FROM Person WHERE ID=1 FOR XML PATH

結(jié)果如下:

SQL知識:17條好用且代碼少的SQL

16、將小數(shù)轉(zhuǎn)換成百分?jǐn)?shù)

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

結(jié)果如下:

17、處理除數(shù)為0

SELECT ISNULL(A/NULLIF(B,0),1) FROM TABLEA

SELECT  CASE WHEN B=0 THEN 1 ELSE A/B END  FROM TABLEA

注:A為任意數(shù)值,B為0

重要聲明:本文來自SQL數(shù)據(jù)庫開發(fā),經(jīng)授權(quán)轉(zhuǎn)載,有部分增減,版權(quán)歸原作者所有,不代表銳成觀點(diǎn),轉(zhuǎn)載的目的在于傳遞更多知識和信息。

我的評論

還未登錄?點(diǎn)擊登錄

微信掃碼溝通
微信掃碼溝通

微信掃碼溝通

AI
return head