From 74a0672dba7724ef05ee819e86927c057e632039 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= <1579614208@qq.com> Date: Tue, 20 Sep 2022 15:42:21 +0000 Subject: [PATCH 1/4] =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张耀仁 <1579614208@qq.com> --- .../0919\344\275\234\344\270\232.sql" | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 "40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0919\344\275\234\344\270\232.sql" diff --git "a/40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0919\344\275\234\344\270\232.sql" "b/40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0919\344\275\234\344\270\232.sql" new file mode 100644 index 0000000..30424bb --- /dev/null +++ "b/40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0919\344\275\234\344\270\232.sql" @@ -0,0 +1,32 @@ +----------------ҵ--------------------- +--1. пΪ"6225547858741263"ѯȹпϢʾţ֤ +select * from BankCard b +inner join AccountInfo a on b.AccountId=a.AccountId +where CardMoney >(select CardMoney from BankCard where CardNo='6225547858741263'); +--2. ˻ϢвѯߵĽϸ(ǮȡǮϢ) +select * from BankCard b +INNER join CardExchange c on b.CardNo = c.CardNo +where CardMoney IN (select max(CardMoney) from BankCard ) +--3. ѯȡ¼п˻Ϣʾţ֤ +select a.RealName,a.AccountCode,b.CardNo,b.CardMoney from AccountInfo a +INNER JOIN dbo.BankCard b ON b.AccountId = a.AccountId +WHERE b.CardNo IN (select CardNoOut from CardTransfer) +--4. ѯûд¼п˻Ϣʾţ֤ +select a.RealName,a.AccountCode,b.CardNo,b.CardMoney from AccountInfo a +INNER JOIN dbo.BankCard b ON b.AccountId = a.AccountId +WHERE b.CardMoney IN (select MoneyInBank from CardExchange) +--5. пΪ"6225547858741263",ѯǷյתˡ + if exists( select * from CardTransfer where CardNoIn=6225547858741263) + print '' + else + print 'û' +--6. ѯ״ȡп˻Ϣʾţ֤״ +select AccountInfo.*,BankCard.CardMoney from AccountInfo +inner join BankCard on BankCard.AccountId=AccountInfo.AccountId +where BankCard.AccountId in( +select AccountId from BankCard +where CardNo in (select CardNoOut from CardTransfer)) +--7. ѯûת˽׼¼п˻Ϣʾţ֤ +select a.RealName,a.AccountCode,b.CardNo,b.CardMoney from AccountInfo a +INNER JOIN dbo.BankCard b ON b.AccountId = a.AccountId +WHERE b.CardNo != ( SELECT CardNoIn FROM CardTransfer ) AND b.CardNo !=( SELECT CardNoOut FROM CardTransfer ) \ No newline at end of file -- Gitee From 940700bf0a3ced6df46d7a703c846a31cfbbb2e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= <1579614208@qq.com> Date: Tue, 20 Sep 2022 15:43:08 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张耀仁 <1579614208@qq.com> --- ...2\346\225\260\346\215\256\350\241\250.sql" | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 "40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/0919\345\255\220\346\237\245\350\257\242\346\225\260\346\215\256\350\241\250.sql" diff --git "a/40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/0919\345\255\220\346\237\245\350\257\242\346\225\260\346\215\256\350\241\250.sql" "b/40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/0919\345\255\220\346\237\245\350\257\242\346\225\260\346\215\256\350\241\250.sql" new file mode 100644 index 0000000..254830b --- /dev/null +++ "b/40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/0919\345\255\220\346\237\245\350\257\242\346\225\260\346\215\256\350\241\250.sql" @@ -0,0 +1,67 @@ +--drop database DBSTUDENT +create database DBSTUDENTS +go +use DBSTUDENTS +go + +create table StuInfo( + StuID int primary key identity(1,1), + StuName varchar(20), + StuSex varchar(2), + ClassID int +); +go + +create table StuScore( + ExamNo int primary key identity(1,1), + StuID int, + Subject varchar(20), + Score int +); +go + + +create table StuCourse( + cid int primary key, + cname varchar(20) +); + + +create table teacher( + tid int, + tname varchar(20) unique +); + + +-- +insert StuInfo values('쿽','',1); +insert StuInfo values('Ʈ','Ů',2); +insert StuInfo values('','',1); +insert StuInfo values('ܿ','Ů',1); +insert StuInfo values('˽','',2); +go + +-- +insert StuScore values(1,'HTML',85); +insert StuScore values(1,'Java',80); +insert StuScore values(1,'SQL',82); +insert StuScore values(2,'HTML',70); +insert StuScore values(2,'Java',81); +insert StuScore values(2,'SQL',60); +insert StuScore values(3,'HTML',70); +insert StuScore values(3,'Java',90); +insert StuScore values(3,'SQL',85); +insert StuScore values(4,'Java',61); +insert StuScore values(4,'SQL',68); +insert StuScore values(5,'HTML',90); +insert StuScore values(5,'Java',81); +insert StuScore values(5,'SQL',65); +go + +select * from StuInfo; +select * from StuScore; +go + + + + -- Gitee From c277cc29b2bee6c985b44e296c0cd23f42534be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= <1579614208@qq.com> Date: Thu, 22 Sep 2022 04:36:38 +0000 Subject: [PATCH 3/4] =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张耀仁 <1579614208@qq.com> --- .../0921\344\275\234\344\270\232.sql" | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 "40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0921\344\275\234\344\270\232.sql" diff --git "a/40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0921\344\275\234\344\270\232.sql" "b/40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0921\344\275\234\344\270\232.sql" new file mode 100644 index 0000000..24308ef --- /dev/null +++ "b/40\345\274\240\350\200\200\344\273\201/\344\275\234\344\270\232/0921\344\275\234\344\270\232.sql" @@ -0,0 +1,51 @@ +--13. ƽɼӸߵʾѧпγ̵ijɼԼƽɼ +select sid, + max(case when cid ='01'then score else null end), + max(case when cid ='02'then score else null end)ѧ, + max(case when cid ='03'then score else null end)Ӣ, + AVG(score)ƽɼ + from sc + group by sid + order by avg (score) desc + +--14. ѯƳɼ߷֡ͷֺƽ֣ + +--ʽʾγ IDγ name߷֣ͷ֣ƽ֣ʣеʣʣ + +--Ϊ>=60еΪ70-80Ϊ80-90Ϊ>=90 + +--Ҫγ̺źѡѯУͬγ̺ +SELECT +cid AS γID, +COUNT(sid) AS γ, +MAX(score) AS ߷, +MIN(score) AS ͷ, +AVG(score) AS ƽ, +SUM() / COUNT(sid) AS , +SUM(е) / COUNT(sid) AS е, +SUM() / COUNT(sid) AS , +SUM() / COUNT(sid) AS +FROM +(SELECT *, +CASE WHEN score >= 60 THEN 1 ELSE 0 END AS , +CASE WHEN score >= 70 AND score<80 THEN 1 ELSE 0 END AS е, +CASE WHEN score >= 80 AND score<90 THEN 1 ELSE 0 END AS , +CASE WHEN score >= 90 THEN 1 ELSE 0 END AS +FROM sc) a +GROUP BY cid +ORDER BY COUNT(sid) DESC,cid + +select +(select count(*) from sc s2 where s1.CId = s2.CId and s2.score>60 group by cid) s,count(*) +from sc s1 +group by s1.cid + +--15. Ƴɼ򣬲ʾ Score ظʱοȱ +select rank() over (partition by cid order by score desc) as ,cid,score from SC; + +--15.1 Ƴɼ򣬲ʾ Score ظʱϲ +select DENSE_RANK() over (partition by cid order by score desc) as ,cid,score from SC; +--16. ѯѧܳɼܷظʱοȱ +select rank() over (order by sum(score) desc) as ,sid,sum(score) from SC group by sid +--16.1 ѯѧܳɼܷظʱοȱ +select DENSE_RANK() over (order by sum(score) desc) as ,sid,sum(score) from SC group by sid \ No newline at end of file -- Gitee From 2866ba77d3f5e9b604eb79fc2e9b387f52e7b019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= <1579614208@qq.com> Date: Thu, 22 Sep 2022 04:36:59 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=E5=BC=A0=E8=80=80=E4=BB=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张耀仁 <1579614208@qq.com> --- ...\350\257\242_\346\216\222\345\272\217.sql" | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 "40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/20220921-4\347\217\255-\345\205\263\350\201\224\345\255\220\346\237\245\350\257\242_\346\216\222\345\272\217.sql" diff --git "a/40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/20220921-4\347\217\255-\345\205\263\350\201\224\345\255\220\346\237\245\350\257\242_\346\216\222\345\272\217.sql" "b/40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/20220921-4\347\217\255-\345\205\263\350\201\224\345\255\220\346\237\245\350\257\242_\346\216\222\345\272\217.sql" new file mode 100644 index 0000000..866f10e --- /dev/null +++ "b/40\345\274\240\350\200\200\344\273\201/\347\254\224\350\256\260/20220921-4\347\217\255-\345\205\263\350\201\224\345\255\220\346\237\245\350\257\242_\346\216\222\345\272\217.sql" @@ -0,0 +1,29 @@ +use STUDENTS +go + +select * from tb_student + +--ѯѧϢҪʾԱ +select birth,name ,gender Ա from tb_student +where birth = (select min(birth) from tb_student) + +-- +select birth,,Ա from ( +select birth,name ,gender Ա,row_number() over (order by birth ) as birth_rank from tb_student +) as T1 +where T1.birth_rank = 1 + +--ѯŮѧϢҪʾԱ +--ǹӲѯ +select birth,name ,gender Ա from tb_student +where birth in (select min(birth) from tb_student group by gender) + +--ӲѯڲѯҪⲿѲѯϢ +select birth,name ,gender Ա from tb_student t1 +where birth = (select min(birth) from tb_student t2 where t2.gender=t1.gender) + +--ں +select birth,,Ա from ( +select birth,name ,gender Ա,row_number() over (partition by gender order by birth ) as birth_rank from tb_student +) as T1 +where T1.birth_rank = 1 -- Gitee