diff --git "a/01\347\277\201\347\253\240\345\275\254/\344\275\234\344\270\232/2022-09-07/.keep" "b/01\347\277\201\347\253\240\345\275\254/\344\275\234\344\270\232/2022-09-07/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/01\347\277\201\347\253\240\345\275\254/\344\275\234\344\270\232/2022-09-07/2022-09-07 \351\223\266\350\241\214 \357\274\210any some..\357\274\211.TXT" "b/01\347\277\201\347\253\240\345\275\254/\344\275\234\344\270\232/2022-09-07/2022-09-07 \351\223\266\350\241\214 \357\274\210any some..\357\274\211.TXT" new file mode 100644 index 0000000000000000000000000000000000000000..0d8e069c57047d1a0a7e1b53e7031d1cc92a40cb --- /dev/null +++ "b/01\347\277\201\347\253\240\345\275\254/\344\275\234\344\270\232/2022-09-07/2022-09-07 \351\223\266\350\241\214 \357\274\210any some..\357\274\211.TXT" @@ -0,0 +1,35 @@ +--1. 关羽的银行卡号为"6225547858741263",查询出余额比关羽多的银行卡信息,显示卡号,身份证,姓名,余额。 +select CardNo,AccountCode,RealName,CardMoney from BankCard +join AccountInfo on AccountInfo.AccountId = BankCard.AccountId +where CardMoney>any(select CardMoney from BankCard where CardNo = '6225547858741263') +--2. 从所有账户信息中查询出余额最高的交易明细(存钱取钱信息)。 +select CardExchange.* from CardExchange +join BankCard on BankCard.CardNo = CardExchange.CardNo +where CardMoney=(select max(CardMoney) from BankCard) +--3. 查询有取款记录的银行卡及账户信息,显示卡号,身份证,姓名,余额。 +select BankCard.CardNo,AccountCode,RealName,CardMoney from CardExchange +join BankCard on BankCard.CardNo = CardExchange.CardNo +join AccountInfo on AccountInfo.AccountId = BankCard.AccountId +where MoneyOutBank>0 + +update BankCard set CardMoney = CardMoney - 5000 where CardNo = '6225547854125656' +insert into CardExchange(CardNo,MoneyInBank,MoneyOutBank,ExchangeTime) +values('6225547854125656',0,5000,GETDATE()) +--4. 查询出没有存款记录的银行卡及账户信息,显示卡号,身份证,姓名,余额。 +select BankCard.CardNo,AccountCode,RealName,CardMoney from CardExchange +join BankCard on BankCard.CardNo = CardExchange.CardNo +join AccountInfo on AccountInfo.AccountId = BankCard.AccountId +where MoneyInBank is null +--5. 关羽的银行卡号为"6225547858741263",查询当天是否有收到转账。 +select * from CardTransfer +where CardNoIn = '6225547858741263' +--6. 查询出交易次数(存款取款操作)最多的银行卡账户信息,显示:卡号,身份证,姓名,余额,交易数。 +select BankCard.CardNo,AccountCode,RealName,CardMoney,count(CardExchange.CardNo) 交易数 from CardExchange +join BankCard on BankCard.CardNo = CardExchange.CardNo +join AccountInfo on AccountInfo.AccountId = BankCard.AccountId +where CardExchange.CardNo=(select top 1 CardExchange.CardNo from CardExchange group by CardExchange.CardNo order by count(CardExchange.CardNo) desc) +group by CardExchange.CardNo,BankCard.CardNo,AccountCode,RealName,CardMoney +--7. 查询出没有转账交易记录的银行卡账户信息,显示卡号,身份证,姓名,余额。 +select CardNo,AccountCode,RealName,CardMoney from BankCard +join AccountInfo on AccountInfo.AccountId = BankCard.AccountId +where BankCard.CardNo!=any(select CardNoIn from CardTransfer) and BankCard.CardNo!=any(select CardNoOut from CardTransfer) \ No newline at end of file diff --git "a/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-07 \345\255\220\346\237\245\350\257\242.md" "b/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-07 \345\255\220\346\237\245\350\257\242.md" new file mode 100644 index 0000000000000000000000000000000000000000..1e6569231c480f907dd4b88e3a261307cddf58ca --- /dev/null +++ "b/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-07 \345\255\220\346\237\245\350\257\242.md" @@ -0,0 +1,39 @@ +# 子查询 + +## 1.按结果分类 + +### 1.标量子查询 + +​ 标量子查询是指子查询返回的是单一值,如一个数字或一个字符串。 + +### 2.列子查询 + +​ 列子查询是指子查询返回的结果集是N行1列,该结果通常来自对表某个字段的查询结果,带in关键字的子查询是最常用的一类子查询,在使用in关键字进行查询时,子查询语句返回的结果应该是一个数据列中的多个值,如果仅返回1个数值,则可用标量子查询代替。 + +#### 1.In关键字 + +​ in代表:只要符合后面的条件就筛选出来。 + +#### 2.any关键字 + +#### 3.some关键字 + +#### 4.all关键字 + +​ >,<,= + +### 3.行子查询 + +​ 行子查询是指子查询返回的结果集是1行N列,该子查询的结果通常是对表的某行数据进行查询而返回的结果集。 + +### 4.表子查询 + +​ 1.from关键字 + +## 2.按位置分类 + +​ 1.from子查询 + +​ 2.where子查询 + +​ 3.wxists子查询 \ No newline at end of file diff --git "a/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-08 Exists.md" "b/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-08 Exists.md" new file mode 100644 index 0000000000000000000000000000000000000000..5b8d74981d73a94cfd5a322ee874d416bfc1d3f4 --- /dev/null +++ "b/01\347\277\201\347\253\240\345\275\254/\347\254\224\350\256\260/2022-09-08 Exists.md" @@ -0,0 +1,15 @@ +# exists子查询 + +关键字EXISTS构造子查询时,当子查询的结果集不为空时,则EXISTS返回的结果为TRUE,外层查询语句进行查询;当子查询的结果集为空时,则EXISTS返回的结果为FALSE,外层查询语句不进行查询。 + +# 排序函数 + +## 排序函数 + +排序函数 OVER( [分组子句] 排序子句[desc][asc ) + +排序子句 :ORDER BY 排序列,排序列… + +ROW_NUMBER()函数生成的排序根据排序子句给出递增连续的序号 +RANK()函数生成的排序根据排序子句给出递增的序号,但是存在并列并且跳空 +DENSE_RANK() 函数生成的排序根据排序子句给出递增的序号,但是存在并列不跳空 \ No newline at end of file