From 91c4cfbe2e915b6e89091ebc289f411699e9822d Mon Sep 17 00:00:00 2001 From: Harshreich <773407390@qq.com> Date: Tue, 27 Sep 2022 22:19:26 +0800 Subject: [PATCH] . --- .../\344\275\234\344\270\232/22.9.27.sql" | 44 ++++++++++++ .../\347\254\224\350\256\260/22.9.27.md" | 72 +++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 "10\351\231\210\346\230\212\347\253\245/\344\275\234\344\270\232/22.9.27.sql" create mode 100644 "10\351\231\210\346\230\212\347\253\245/\347\254\224\350\256\260/22.9.27.md" diff --git "a/10\351\231\210\346\230\212\347\253\245/\344\275\234\344\270\232/22.9.27.sql" "b/10\351\231\210\346\230\212\347\253\245/\344\275\234\344\270\232/22.9.27.sql" new file mode 100644 index 0000000..9d06103 --- /dev/null +++ "b/10\351\231\210\346\230\212\347\253\245/\344\275\234\344\270\232/22.9.27.sql" @@ -0,0 +1,44 @@ +--1)编写视图实现查询出所有银行卡账户信息,显示卡号,身份证,姓名,余额。 +go +create view V_newab(卡号,身份证,姓名,余额) +as +select BankCard.CardNo,AccountInfo.AccountCode,AccountInfo.RealName,BankCard.CardMoney from BankCard left join AccountInfo on BankCard.AccountId=AccountInfo.AccountId +go + +--2)行转列 +create table record ( + name varchar(10), + year int , + month int , + amount float + ) +insert into record values +(1991,1,1.1), +(1991,2,1.2), +(1991,3,1.3), +(1991,4,1.4), +(1992,1,2.1), +(1992,2,2.2), +(1992,3,2.3), +(1992,4,2.4) +select * from record +go +create view V_RErecord(year,m1,m2,m3,m4) +as + select * from record + pivot (sum(amount) for month in ([1],[2],[3],[4])) as RErecord + go + select * from V_RErecord + --3)列转行 + create table sc ( + name varchar(10), + english int , + maths int , + music int + ) +insert into sc values ('Jim',90,88,99) + select name,'english' subject,english as score from sc + union + select name,'maths' subject,maths as score from sc + union + select name,'music' subject,music as score from sc \ No newline at end of file diff --git "a/10\351\231\210\346\230\212\347\253\245/\347\254\224\350\256\260/22.9.27.md" "b/10\351\231\210\346\230\212\347\253\245/\347\254\224\350\256\260/22.9.27.md" new file mode 100644 index 0000000..868d058 --- /dev/null +++ "b/10\351\231\210\346\230\212\347\253\245/\347\254\224\350\256\260/22.9.27.md" @@ -0,0 +1,72 @@ +# 瑙嗗浘 + +瑙嗗浘鏃惰櫄鎷熺殑琛ㄣ備笌鍖呭惈鏁版嵁鐨勮〃涓嶄竴鏍凤紝瑙嗗浘鍊煎寘鍚娇鐢ㄦ椂鍔ㄦ佹绱㈡暟鎹殑鏌ヨ銆 + +## 1.1銆佷负浠涔堜娇鐢ㄨ鍥 + +閲嶇敤SQL璇彞 +绠鍖栧鏉傜殑SQL鎿嶄綔 +浣跨敤琛ㄧ殑涓閮ㄥ垎鑰屼笉鏄暣涓〃 +淇濇姢鏁版嵁銆傚彲浠ユ巿鏉冪敤鎴疯闂〃鐨勭壒瀹氶儴鍒嗙殑鏉冮檺锛岃屼笉鏄暣涓〃鐨勮闂潈闄 +鏇存敼鏁版嵁鏍煎紡鍜岃〃绀 +娉ㄦ剰锛 +1銆佽鐭ラ亾瑙嗗浘浠呬粎鏃剁敤鏉ユ煡鐪嬪瓨鍌ㄥ湪鍒鏁版嵁鐨勪竴绉嶆帾鏂姐傝鍥炬湰韬笉鍖呭惈鏁版嵁锛屽洜姝よ繑鍥炵殑鏁版嵁鏄粠鍏朵粬琛ㄤ腑妫绱㈠嚭鏉ョ殑銆傚湪娣诲姞鎴栨洿鏀硅繖浜涜〃鐨勬暟鎹椂锛岃鍥惧皢杩斿洖鏀瑰彉杩囩殑鏁版嵁銆 + +1.2銆佽鍥剧殑瑙勫垯鍜岄檺鍒 + +鍒涘缓瑙嗗浘鍓嶏紝搴旇鐭ラ亾浠栫殑涓浜涢檺鍒躲備笉杩囪繖浜涢檺鍒堕殢涓嶅悓鐨凞BMS鑰屼笉鍚岋紝鍥犳鍦ㄥ垱寤鸿鍥炬椂搴旇鏌ョ湅鍏蜂綋鐨凞BMS鏂囨。銆 + +鍜岃〃涓鏍凤紝瑙嗗浘蹇呴』鍞竴鍛藉悕 +瀵逛簬鍙互鍒涘缓鐨勮鍥炬暟鐩病鏈夐檺鍒 +鍒涘缓瑙嗗浘锛屽繀椤诲叿鏈夎冻澶熺殑璁块棶鏉冮檺 +瑙嗗浘鍙互宓屽锛屽嵆鍙互鍒╃敤浠庡叾浠栬鍥句腑妫绱㈡暟鎹殑鏌ヨ鏉ユ瀯閫犺鍥 +璁稿DBMS绂佹鍦ㄨ鍥炬煡璇腑浣跨敤ORDER BY瀛愬彞 +鏈変簺DBMS瑕佹眰瀵硅繑鍥炵殑鎵鏈夊垪杩涜鍛藉悕锛屽鏋滃垪鏃惰绠楀瓧娈碉紝鍒欓渶瑕佷娇鐢ㄥ埆鍚 +瑙嗗浘涓嶈兘绱㈠紩锛屼篃涓嶈兘鏈夊叧鑱旂殑瑙﹀彂鍣ㄦ垨榛樿鍊 +鏈変簺DBMS鎶婅鍥句綔涓哄彧璇荤殑鏌ヨ锛岃繖琛ㄧず鍙互浠庤鍥炬绱㈡暟鎹紝浣嗕笉鑳藉皢鏁版嵁鍐欏洖搴曞眰琛 +鏈変簺DBMS鍏佽鍒涘缓杩欐牱鐨勮鍥撅紝瀹冧笉鑳借繘琛屽鑷磋涓嶅啀灞炰簬瑙嗗浘鐨勬彃鍏ュ拰鏇存柊銆 +2.1銆佸埄鐢ㄨ鍥剧畝鍖栧鏉傜殑鑱旂粨 + +CREATE VIEW ProductCustomers AS +SELECT cust_name,cust_contact,prod_id +FROM customers,orders,orderItems +WHERE customers.cust_id=orders.cust_id +AND orderitems.order_num=orders.order_num; +\#鍒涘缓涓涓悕涓篜roductCustomers鐨勮鍥 +1 +2 +3 +4 +5 +6 +2.2銆佺敤瑙嗗浘閲嶆柊鏍煎紡鍖栨绱㈠嚭鐨勬暟鎹 + +CREATE VendorLoactions AS +SELECT RTRIM(vend_name)+'('+RTTIM(vend_country)+')' AS vend_title +FROM Vendors; +1 +2 +3 +2.3銆佺敤瑙嗗浘杩囨护涓嶆兂瑕佺殑鏁版嵁 + +CREATE VIEW CustomersEMailList AS +SELECT cust_id,cust_name,cust_email +FROM customers +WHERE Customers +WHERE cust_email IS NOT NULL; +\#瀹氫箟CustomersEMailList瑙嗗浘锛岃繃婊ゆ病鏈夌數瀛愰偖浠跺湴鍧鐨勯【瀹 +1 +2 +3 +4 +5 +6 +2.4銆佷娇鐢ㄨ鍥惧拰璁$畻瀛楁 + +CREATE VIEW orderitemsexpand AS +SELECT order_num, +prod_id, +quantity, +item_price, +quantity*item_price AS expanded_price +FROM orderitems; \ No newline at end of file -- Gitee