diff --git "a/01\346\235\216\351\237\246\345\263\260/2022-09-16 \345\273\272\345\272\223\345\273\272\350\241\250\344\275\234\344\270\232/work.sql" "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022-09-15 \345\273\272\345\272\223\345\273\272\350\241\250\344\275\234\344\270\232.sql" similarity index 100% rename from "01\346\235\216\351\237\246\345\263\260/2022-09-16 \345\273\272\345\272\223\345\273\272\350\241\250\344\275\234\344\270\232/work.sql" rename to "01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022-09-15 \345\273\272\345\272\223\345\273\272\350\241\250\344\275\234\344\270\232.sql" diff --git "a/01\346\235\216\351\237\246\345\263\2602/2022-09-16 \346\237\245\350\257\242\344\275\234\344\270\232/SQLQuery1.sql" "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022-09-16 \346\237\245\350\257\242\344\275\234\344\270\232.sql" similarity index 100% rename from "01\346\235\216\351\237\246\345\263\2602/2022-09-16 \346\237\245\350\257\242\344\275\234\344\270\232/SQLQuery1.sql" rename to "01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022-09-16 \346\237\245\350\257\242\344\275\234\344\270\232.sql" diff --git "a/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022-09-19-\345\255\220\346\237\245\350\257\242.sql" "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022-09-19-\345\255\220\346\237\245\350\257\242.sql" new file mode 100644 index 0000000000000000000000000000000000000000..13b6846aab97600ea758d078fa466aabed16a944 --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\344\275\234\344\270\232/2022-09-19-\345\255\220\346\237\245\350\257\242.sql" @@ -0,0 +1,61 @@ +--1. 关羽的银行卡号为"6225547858741263",查询出余额比关羽多的银行卡信息,显示卡号,身份证,姓名,余额。 +select BankCard.CardNo,a.AccountCode,a.RealName,BankCard.CardMoney from BankCard +join AccountInfo A on a.AccountId = BankCard.AccountId +where CardMoney>( + select CardMoney from BankCard where CardNo = '6225547858741263' +) + +--2. 从所有账户信息中查询出余额最高的交易明细(存钱取钱信息)。 +select * from CardExchange where CardNo = ( + select top 1 CardNo from CardExchange order by MoneyInBank desc +) + +--3. 查询有取款记录的银行卡及账户信息,显示卡号,身份证,姓名,余额。 + +select B.CardNo 卡号,A.AccountCode 身份证,A.RealName 姓名,B.CardMoney 余额 from AccountInfo A +join BankCard B on A.AccountId = B.AccountId +where B.CardNo in ( select CardNo from CardExchange where MoneyOutBank <> 0) + + +--4. 查询出没有存款记录的银行卡及账户信息,显示卡号,身份证,姓名,余额。 +select B.CardNo 卡号,A.AccountCode 身份证,A.RealName 姓名,B.CardMoney 余额 from AccountInfo A +join (select * from BankCard where CardNo not in ( + select CardNo from CardExchange where MoneyInBank <>0 + ) +)B on A.AccountId = B.AccountId + + +--5. 关羽的银行卡号为"6225547858741263",查询当天是否有收到转账。 +if exists( + select * from CardTransfer where CardNoIn = '6225547858741263' + and CONVERT(varchar(15),TransferTime,20) = CONVERT(varchar(15),getdate(),20) +) + print '有' +else + print '没有' + + +--6. 查询出交易次数(存款取款操作)最多的银行卡账户信息,显示:卡号,身份证,姓名,余额,交易次数。 + +select top 1 B.CardNo 卡号,A.AccountCode 身份证,A.RealName 姓名,B.CardMoney 余额,temp.交易次数 from AccountInfo A +join BankCard B on B.AccountId = A.AccountId +join ( + select CardNo,COUNT(CardNo)交易次数 from CardExchange + group by CardNo +)temp on temp.CardNo = B.CardNo +order by temp.交易次数 desc + + +--7. 查询出没有转账交易记录的银行卡账户信息,显示卡号,身份证,姓名,余额。 +select B.CardNo 卡号,A.AccountCode 身份证,A.RealName 姓名,B.CardMoney 余额 from AccountInfo A +join BankCard B on A.AccountId = B.AccountId +where B.CardNo not in ( + select CardNoOut from CardTransfer +)and B.CardNo not in ( + select CardNoIn from CardTransfer +) + + + + + diff --git "a/01\346\235\216\351\237\246\345\263\260/2022-09-16 \347\254\224\350\256\260/\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-15-\347\254\224\350\256\260\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.md" similarity index 94% rename from "01\346\235\216\351\237\246\345\263\260/2022-09-16 \347\254\224\350\256\260/\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.md" rename to "01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-15-\347\254\224\350\256\260\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.md" index b032041d422fbdb91ee3ad094f21679490563683..ece5da573fc79a2ecb3e576bd0282e70cd2acaa1 100644 --- "a/01\346\235\216\351\237\246\345\263\260/2022-09-16 \347\254\224\350\256\260/\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.md" +++ "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-15-\347\254\224\350\256\260\345\273\272\345\272\223\345\273\272\350\241\250\347\272\246\346\235\237.md" @@ -1,37 +1,37 @@ -### 1.鍒涘缓鏁版嵁搴 - -```sql --- database 鏁版嵁搴 --- 鏍煎紡 锛 --- create database 琛ㄥ悕 --- 浣跨敤褰撳墠鏁版嵁搴 锛 use 琛ㄥ悕 -``` - -### 2.鍒涘缓琛ㄦ牸 - -```sql --- 鏍煎紡锛 crate table 琛ㄥ悕锛 --- 瀛楁鍚1 绫诲瀷 路路路路 --- 锛 -``` - -### 3.浜斿ぇ绾︽潫 - -- 澶栭敭 : foreign key锛堝彲鐪佺暐锛 **references** - - - 鍦ㄨ〃鏍间腑璁剧疆澶栭敭 - - ```sql - -- 瀛楁鍚 绫诲瀷 foreign key references 涓婚敭琛ㄥ悕锛 寮曠敤瀛楁 锛 - -- 瀛楁鍚 绫诲瀷 references 涓婚敭琛ㄥ悕锛 寮曠敤瀛楁 锛 - ``` - -- 涓婚敭锛歱rimary key - - - 鑷(鏍囪瘑鍒)锛 identity( 浠庣涓涓暟寮濮 , 鑷鏁 ) - -- 榛樿锛 default - -- 鍞竴锛歶nique - +### 1.鍒涘缓鏁版嵁搴 + +```sql +-- database 鏁版嵁搴 +-- 鏍煎紡 锛 +-- create database 琛ㄥ悕 +-- 浣跨敤褰撳墠鏁版嵁搴 锛 use 琛ㄥ悕 +``` + +### 2.鍒涘缓琛ㄦ牸 + +```sql +-- 鏍煎紡锛 crate table 琛ㄥ悕锛 +-- 瀛楁鍚1 绫诲瀷 路路路路 +-- 锛 +``` + +### 3.浜斿ぇ绾︽潫 + +- 澶栭敭 : foreign key锛堝彲鐪佺暐锛 **references** + + - 鍦ㄨ〃鏍间腑璁剧疆澶栭敭 + + ```sql + -- 瀛楁鍚 绫诲瀷 foreign key references 涓婚敭琛ㄥ悕锛 寮曠敤瀛楁 锛 + -- 瀛楁鍚 绫诲瀷 references 涓婚敭琛ㄥ悕锛 寮曠敤瀛楁 锛 + ``` + +- 涓婚敭锛歱rimary key + + - 鑷(鏍囪瘑鍒)锛 identity( 浠庣涓涓暟寮濮 , 鑷鏁 ) + +- 榛樿锛 default + +- 鍞竴锛歶nique + - check妫鏌 \ No newline at end of file diff --git "a/01\346\235\216\351\237\246\345\263\2602/2022-09-16\347\254\224\350\256\260/\346\237\245\350\257\242\347\254\224\350\256\260.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-16 \346\237\245\350\257\242\347\254\224\350\256\260.md" similarity index 100% rename from "01\346\235\216\351\237\246\345\263\2602/2022-09-16\347\254\224\350\256\260/\346\237\245\350\257\242\347\254\224\350\256\260.md" rename to "01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-16 \346\237\245\350\257\242\347\254\224\350\256\260.md" diff --git "a/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-19-\345\255\220\346\237\245\350\257\242.md" "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-19-\345\255\220\346\237\245\350\257\242.md" new file mode 100644 index 0000000000000000000000000000000000000000..3f010cd9fc818fca65362e516e894f763061f152 --- /dev/null +++ "b/01\346\235\216\351\237\246\345\263\260/\347\254\224\350\256\260/2022-09-19-\345\255\220\346\237\245\350\257\242.md" @@ -0,0 +1,271 @@ +## 鍥為【 + +1. 鍙橀噺鐨勪娇鐢ㄣ傝鍏堢敤DECLARE 鍏抽敭瀛楀0鏄庯紝鐒跺悗鐢⊿ET鎴朣ELECT璧嬪笺傚眬閮ㄥ彉閲忓墠蹇呴』鏈 鈥淍鈥 浣滃墠缂锛屽叏灞鍙橀噺蹇呴』鏈 鈥淍@鈥 浣滃墠缂銆 +2. 鍙橀噺鐨勮緭鍑哄彲浠ョ敤锛歅RINT鎴朣ELECT璇彞銆 +3. 閫昏緫鎺у埗璇彞鎻愪緵浜嗘潯浠舵搷浣滄墍闇鐨勯『搴忓拰閫昏緫銆 +4. 鎵瑰鐞嗗彲浠ユ彁楂樿鍙ユ墽琛岀殑鏁堢巼锛屼娇鐢ㄢ淕O鈥濅綔涓虹粨鏉熸爣蹇椼 + + + +## 宓屽/瀛愭煡璇 + +#### 浠涔堟槸瀛愭煡璇紵 + +**闂:缂栧啓T-SQL璇彞锛屾煡璇⑩滈粍鐐滄澃鈥濆悓瀛︾殑鍒嗘暟澶т簬80 鍒嗙殑鑰冭瘯鎴愮哗璁板綍锛** + +```sql +--瀹炵幇鏂瑰紡1锛氳繛鎺ユ煡璇 + +--瀹炵幇鏂瑰紡2: 瀛愭煡璇 + +``` + + + +#### 瀛愭煡璇㈢殑鐗圭偣鍜屼紭鍔 + +1锛変娇鐢ㄧ伒娲汇 + +1. 鍙互鎴愪负SQL 璇彞鐨勫涓儴鍒嗐 +2. **瀛愭煡璇綔涓烘煡璇㈡潯浠朵娇鐢**銆 + +```sql +--缁冧範:鏌ヨ瀛﹀彿鍦ㄦ浘楣忓墠闈㈢殑鍚屽淇℃伅 +``` + +1. **瀛愭煡璇綔涓轰复鏃惰〃浣跨敤**銆 from () + +```sql +--缁冧範:鏌ヨ鎵鏈夊鐢熺殑HTML鎴愮哗锛屽鏋滃鐢熸病鏈夋垚缁╂樉绀簄ull +``` + +1. **瀛愭煡璇綔涓哄垪浣跨敤**銆 + +```sql +--缁冧範:鏌ヨ鎵鏈夊鐢熺殑HTML鎴愮哗锛屽鏋滃鐢熸病鏈夋垚缁╂樉绀簄ull +``` + +2锛夐檷浣嶴QL 鐨勮鍙ョ殑澶嶆潅搴︼紝鎻愰珮SQL 璇彞鐨勫彲璇绘с + +#### 瀛愭煡璇 + +![](https://gitee.com/snailclass/tuchuang/raw/master/img/image-20220906173549480-2022-9-1913:24:45.png) + +##### 鎸夌粨鏋滃垎绫 + +###### 鏍囬噺瀛愭煡璇 锛 + +**閫氬父鍙互浣跨敤杩炴帴鏌ヨ鏇夸唬** + +鏍囬噺瀛愭煡璇㈡槸鎸囧瓙鏌ヨ杩斿洖鐨勬槸**鍗曚竴鍊**锛屽涓涓暟瀛楁垨涓涓瓧绗︿覆銆 + +```sql +--1.鏌ヨ涔︾洰琛(tb_bibliography)涓紝鏉$爜鍙(barcode)涓"TP311锛13"鍥句功锛堥渶瑕佸湪鍥句功琛ㄤ腑鍏堟煡鎵"TP31L13"鐨処SBN鍙凤級鐨勫浘涔﹀悕绉(name)鍜屼綔鑰(author) + + +--2.鏌ヨ鍊熼槄琛(tb-record锛変腑濮撳悕涓"閭撴壙鏄"锛堥渶瑕佸湪瀛︾敓琛ㄤ腑鍏堟煡鎵"閭撴壙鏄'鐨勫鍙凤級鐨勫鐢熺殑鍊熼槄淇℃伅锛屾樉绀哄鍙(stu-num)鍜屾潯鐮佸彿(barcode) +``` + + + +###### 鍒楀瓙鏌ヨ + +**鍒楀瓙鏌ヨ鏄寚瀛愭煡璇㈣繑鍥炵殑缁撴灉闆嗘槸N琛1鍒**锛岃缁撴灉閫氬父鏉ヨ嚜瀵硅〃鏌愪釜瀛楁鐨勬煡璇㈢粨鏋滐紝甯**in鍏抽敭瀛**鐨勫瓙鏌ヨ鏄渶甯哥敤鐨勪竴绫诲瓙鏌ヨ锛屽湪浣跨敤in鍏抽敭瀛楄繘琛屾煡璇㈡椂锛屽瓙鏌ヨ璇彞杩斿洖鐨勭粨鏋滃簲璇ユ槸涓涓暟鎹垪涓殑澶氫釜鍊硷紝濡傛灉浠呰繑鍥1涓暟鍊硷紝鍒欏彲鐢ㄦ爣閲忓瓙鏌ヨ浠f浛銆 + +```sql +--in涔犻 +--鏌ヨ瀛︾敓琛(tb-student)涓拰榛勫紭鐩稿悓涓撲笟瀛︾敓璇昏呯殑瀛﹀彿(stu-num)濮撳悕(name)鍜屼笓涓(major) +--鍏堟煡璇 榛勫畯鐨 涓撲笟 +select major from tb_student where name='榛勫紭' +--in浠h〃:鍙绗﹀悎鍚庨潰鐨勬潯浠跺氨绛涢夊嚭鏉 +select * from tb_student where major in (select major from tb_student where name='榛勫紭') + + +--鏌ヨ瀛︾敓琛(tb-student)涓繕鏈繕涔︾殑璇昏呯殑瀛﹀彿(stu-num)鍜屽鍚(name) +--鏌ヨ鏈繕涔﹀鐢熺殑瀛﹀彿 +select stu_num from tb_record where return_time is null +--閫氳繃瀛﹀彿鏌ヨ瀛︾敓濮撳悕 +select * from tb_student where stu_num in (select stu_num from tb_record where return_time is null) + + +--all any some 涔犻 +--1.鏌ヨ瀛︾敓琛(tb-student)涓紝姣斾俊鎭闄㈠嚭鐢熸棩鏈熸渶澶х殑杩樿澶х殑鎵鏈夊鐢熻褰曪紝鍗虫瘮淇℃伅瀛﹂櫌骞撮緞鏈灏忕殑杩樿灏忕殑鎵鏈夎褰曪紝浣跨敤ALL鍏抽敭瀛楋紝鏄剧ず瀛︾敓鐨勫鍚(name)銆佸嚭鐢熸棩鏈(birth)鍜屾墍灞炲闄(school)锛屽悓鏍风殑缁撴灉灏濊瘯鐢╩ax()鍑芥暟鍐嶅疄鐜颁竴娆° +--淇℃伅瀛﹂櫌瀛︾敓鏈灏忓勾榫 +select birth from tb_student where school='淇℃伅瀛﹂櫌' +select max(birth) from tb_student where school='淇℃伅瀛﹂櫌' + +select * from tb_student where birth>(select max(birth) from tb_student where school='淇℃伅瀛﹂櫌' ) + +--all鍏抽敭瀛楋細>,<,= +select * from tb_student where birth>all(select birth from tb_student where school='淇℃伅瀛﹂櫌') +--2.鏌ヨ瀛︾敓琛(tb-student)涓紝姣斾俊鎭闄㈠嚭鐢熸棩鏈熸渶灏忕殑杩樿澶х殑鎵鏈夊鐢熻褰曪紝鍗虫瘮淇℃伅瀛﹂櫌骞撮緞鏈澶х殑杩樿灏忕殑鎵鏈夎褰曪紝浣跨敤ANY鍏抽敭瀛楋紝鏄剧ず瀛︾敓鐨勫鍚(name)銆佸嚭鐢熸棩鏈(birth)鍜屾墍灞炲闄(school)銆傚皾璇曠敤SOME鍏抽敭瀛椾唬鏇緼NY锛岄噸鏂版墽琛屽悗瑙傚療鏌ヨ缁撴灉銆 +select * from tb_student where birth>any(select birth from tb_student where school='淇℃伅瀛﹂櫌') +select * from tb_student where birth>some(select birth from tb_student where school='淇℃伅瀛﹂櫌') +--3.鏌ヨ涔︾洰琛(tb-bibliography)涓紝浣跨敤ANY鍏抽敭瀛楋紝姣忕绫诲瀷涓渶璐电殑鍥 涔﹀悕绉(name)鍜屼环鏍(price) +-- =any 涓 in 绛変环 +select max(price) 鏈璐电殑浠锋牸 from tb_bibliography group by category +select name 鍥句功鍚嶇О,price 浠锋牸 from tb_bibliography +where price in (select max(price) 鏈璐电殑浠锋牸 from tb_bibliography group by category) + +``` + + + +###### 琛屽瓙鏌ヨ + +琛屽瓙鏌ヨ鏄寚瀛愭煡璇㈣繑鍥炵殑缁撴灉闆嗘槸1琛孨鍒楋紝璇ュ瓙鏌ヨ鐨勭粨鏋滈氬父鏄琛ㄧ殑鏌愯鏁版嵁杩涜鏌ヨ鑰岃繑鍥炵殑缁撴灉闆嗐 + +```sql +--锛1锛夋煡璇功鐩〃(tb_bibliography)涓笌銆婄鐞嗕俊鎭郴缁熷疄鐢ㄦ暀绋嬶紙绗3鐗堬級銆嬪悓浣滆(author)锛屽悓绫诲瀷(category)鐨勪功銆 +--锛2锛夋煡璇㈠鐢熻〃(tb_student)涓笌"閭圭澘鐫'鍦ㄥ悓涓涓闄(school)涓斿悓涓骞寸骇锛堝鍙峰ご涓や綅鐩稿悓鍒欒〃鏄庡湪鍚屼竴骞寸骇锛夊鐢熺殑瀛﹀彿銆佸鍚嶅拰瀛﹂櫌銆 +``` + + + +###### 琛ㄥ瓙鏌ヨ(from瀛愭煡璇) + +琛ㄥ瓙鏌ヨ鏄寚瀛愭煡璇㈣繑鍥炴槸M琛孨鍒楃殑缁撴灉闆嗭紝鏌ヨ璇彞鍙祵濂楀湪FROM鍏 +閿瓧鍚庯紝涓旈渶瑕佸畾涔夊埆鍚嶃 + +```sql +--鏌ヨ姣忕鍥句功鍦ㄩ鐨勬湰鏁帮紝鏄剧ずISBN鍙(ISBN)銆佸浘涔﹀悕绉(name)鍜岃鍥句功鐨勫湪棣嗘暟閲忋 +``` + + + +##### 鎸変綅缃垎绫 + +###### exists瀛愭煡璇 + +鍏抽敭瀛桬XISTS鏋勯犲瓙鏌ヨ鏃讹紝褰撳瓙鏌ヨ鐨勭粨鏋滈泦涓嶄负绌烘椂锛屽垯EXISTS杩斿洖鐨勭粨鏋滀负TRUE锛屽灞傛煡璇㈣鍙ヨ繘琛屾煡璇紱褰撳瓙鏌ヨ鐨勭粨鏋滈泦涓虹┖鏃讹紝鍒橢XISTS杩斿洖鐨勭粨鏋滀负FALSE锛屽灞傛煡璇㈣鍙ヤ笉杩涜鏌ヨ銆 + +```sql +--锛1锛夋煡璇㈠鐢熻〃(tb-student)涓紝鏄惁鏈夊鐢熻鑰呯殑濮撳悕鏄"榛勫紭" +if exists(select stu_num from tb_record where stu_num in (select stu_num from tb_student where name='榛勫紭') and return_time is null) + print '鏈' +else + print '娌℃湁' + +--锛2锛夋煡璇功鐩〃(tb-bibliography)涓紝搴撳瓨鏁颁负0鐨勪功鐩悕绉(name) +``` + +## 鎺掑簭鍑芥暟 + +**鎺掑簭鍑芥暟 OVER( [鍒嗙粍瀛愬彞] 鎺掑簭瀛愬彞[DESC][ASC] )** + +**鎺掑簭瀛愬彞 锛歄RDER BY 鎺掑簭鍒,鎺掑簭鍒椻** + +缁冧範:浣跨敤鍚勪釜鎺掑悕鍑芥暟瀵瑰鍛樼殑Java 鎴愮哗杩涜鎺掑悕锛屽苟浠旂粏浣撲細鍏朵腑鎺掑簭鍑芥暟鐨勫叿浣撶敤娉曚笌鍏朵腑鐨勫尯鍒 + +```sql + +``` + +- ROW_NUMBER()鍑芥暟鐢熸垚鐨勬帓搴忔牴鎹帓搴忓瓙鍙ョ粰鍑**閫掑杩炵画鐨勫簭鍙** +- RANK()鍑芥暟鐢熸垚鐨勬帓搴忔牴鎹帓搴忓瓙鍙ョ粰鍑**閫掑鐨勫簭鍙凤紝浣嗘槸瀛樺湪骞跺垪骞朵笖璺崇┖** +- DENSE_RANK() 鍑芥暟鐢熸垚鐨勬帓搴忔牴鎹帓搴忓瓙鍙ョ粰鍑**閫掑鐨勫簭鍙凤紝浣嗘槸瀛樺湪骞跺垪涓嶈烦绌** + +鏍规嵁涓婇潰涓変釜鍑芥暟锛屾垜浠彲浠ュ鍔犱竴涓簭鍒楋紝浣嗘槸鏈夋椂鍊欐垜浠渶瑕佸鏁版嵁杩涜鍒嗙粍锛岀劧鍚庡鍒嗙粍鍚庣殑鏁版嵁杩涜澧炲姞搴忓垪锛孭ARTITION BY鍙互涓庝互涓婁笁涓嚱鏁拌仈鍚堜娇鐢 + +```sql +--瀛︾敓鐨凧ava鎴愮哗锛屽苟鏍规嵁鎴愮哗鎺掑悕 +--row_number() +select StuName 濮撳悕,ROW_NUMBER() over(order by score desc) 鎺掑悕,score 鍒嗘暟 from StuScore +join stuinfo on StuInfo.StuID = StuScore.StuID +where subject = 'Java' + +--rank() +select StuName 濮撳悕,rank() over(order by score desc) 鎺掑悕,score 鍒嗘暟 from StuScore +join stuinfo on StuInfo.StuID = StuScore.StuID +where subject = 'Java' + +--DENSE_RANK() + select StuName 濮撳悕,dense_rank() over(order by score desc) 鎺掑悕,score 鍒嗘暟 from StuScore +join stuinfo on StuInfo.StuID = StuScore.StuID +where subject = 'Java' + +``` + + + + + +## 鍒嗛〉鏌ヨ + +#### 鍒嗛〉鏂规涓 + +**浣跨敤top鍒嗛〉** + +```sql +declare @PageSize int = 5 -- 姣忛〉5鏉 +declare @PageIndex int = 2 --绗2椤 +select top(@PageSize) * from Student +where Stuid not in (select top(@PageSize)*(@PageIndex-1)) StuId from Student +``` + + + +#### 鍒嗛〉鏂规浜 + +**浣跨敤row_number鍒嗛〉** + +```sql +declare @PageSize int = 5 +declare @PageIndex int = 3 +select * from +(select ROW_NUMBER() over(order by StuId) RowId,*from Student) as Temp +where RowId between (@PageIndex-1)*@PageSize+1 and @PageIndex*PageSize +``` + + + + + + + +#### 鍒嗛〉鏌ヨ缁冧範 + +```sql +--鏁版嵁缁撴瀯鍜屾暟鎹涓嬶細 +create table Student +( + StuId int primary key identity(1,2), --鑷姩缂栧彿 + StuName varchar(20), + StuSex varchar(4) +) +insert into Student(StuName,StuSex) values('鍒樺','鐢') +insert into Student(StuName,StuSex) values('鍏崇窘','鐢') +insert into Student(StuName,StuSex) values('寮犻','鐢') +insert into Student(StuName,StuSex) values('璧典簯','鐢') +insert into Student(StuName,StuSex) values('椹秴','鐢') +insert into Student(StuName,StuSex) values('榛勫繝','鐢') +insert into Student(StuName,StuSex) values('榄忓欢','鐢') +insert into Student(StuName,StuSex) values('绠闆','鐢') +insert into Student(StuName,StuSex) values('璇歌憶浜','鐢') +insert into Student(StuName,StuSex) values('寰愬憾','鐢') +insert into Student(StuName,StuSex) values('鍛ㄤ粨','鐢') +insert into Student(StuName,StuSex) values('鍏冲钩','鐢') +insert into Student(StuName,StuSex) values('寮犺嫗','鐢') +insert into Student(StuName,StuSex) values('鏇规搷','鐢') +insert into Student(StuName,StuSex) values('鏇逛粊','鐢') +insert into Student(StuName,StuSex) values('鏇逛笗','鐢') +insert into Student(StuName,StuSex) values('鏇规','鐢') +insert into Student(StuName,StuSex) values('鏇瑰桨','鐢') +insert into Student(StuName,StuSex) values('鍏搁煢','鐢') +insert into Student(StuName,StuSex) values('璁歌','鐢') +insert into Student(StuName,StuSex) values('澶忎警鏁','鐢') +insert into Student(StuName,StuSex) values('閮槈','鐢') +insert into Student(StuName,StuSex) values('鑽褰','鐢') +insert into Student(StuName,StuSex) values('璐捐','鐢') +insert into Student(StuName,StuSex) values('瀛欐潈','鐢') +insert into Student(StuName,StuSex) values('瀛欏潥','鐢') +insert into Student(StuName,StuSex) values('瀛欑瓥','鐢') +insert into Student(StuName,StuSex) values('澶彶鎱','鐢') +insert into Student(StuName,StuSex) values('澶т箶','濂') +insert into Student(StuName,StuSex) values('灏忎箶','濂') +``` + +**鏂瑰紡涓锛氫娇鐢╮ow_number** + +**鏂瑰紡浜岋細浣跨敤top鍒嗛〉** +