T-SQL應用實例

来源:https://www.cnblogs.com/L2366/archive/2018/06/04/9132013.html
-Advertisement-
Play Games

實驗一:實驗案例一(附加“練慣用的可以附加的資料庫--class”) 1、在products表中查詢出廠日期晚於2014年4月的水果信息。 select * from products where 出廠日期>'2014-04-30 ' 2、在products表中分組查詢所有水果,蔬菜,堅果的總成本。 ...


實驗一:實驗案例一(附加“練慣用的可以附加的資料庫--class”)

1、在products表中查詢出廠日期晚於2014年4月的水果信息。

select * from products  where 出廠日期>'2014-04-30 '

2、在products表中分組查詢所有水果,蔬菜,堅果的總成本。

select 種類,SUM(成本) 總成本 from products  group by 種類

3、在products表中查詢所有水果的信息,並按照成本從高到低的順序顯示結果。

select * from products order by 成本 desc

4、在products表中查詢成本在1—5元的蔬菜信息。

select * from products  where 成本 between 1 and 5 and  種類='蔬菜'

5、在products表中所有水果的名稱,種類和出廠日期信息插入新表products_new中。

select 名稱,種類,出廠日期  into aaa from products  where 種類='水果'

實驗二:多表查詢(附加“練慣用的可以附加的資料庫--benet”)

 要求:

1、在表A和表B 中使用內連接查詢學生姓名,學校和職業

select a.namenamea,a.school schoola,b.name nameb,b.job jobb  from A,b wherea.name=b.name

2、在表A和表B 中使用左外連接查詢學生姓名,學校和職業。

select a.namenamea,a.school schoola,b.name nameb,b.job jobb  from A left join bon a.name=b.name

3、在表A和表B 中使用右外連接查詢學生姓名,學校和職業。
select a.name namea,a.school schoola,b.name nameb,b.jobjobb  from A right join bon a.name=b.name

4、在表A和表B 中使用完整連接查詢學生姓名,學校和職業。

select a.namenamea,a.school schoola,b.name nameb,b.job jobb  from A full join bon a.name=b.name

實驗三:實驗案例二(附加“練慣用的可以附加的資料庫--class”)

1、在products表和sales表中查詢產品的名稱,種類,成本,銷售地點和銷售價格。

select products.名稱名稱a,

products.種類種類a,

products.成本成本a,

sales.名稱名稱b,

sales.銷售價格價格b,

sales.銷售地點地點b

from products,sales where products.名稱=sales.名稱

2、在products表和sales表中查詢銷往海南的產品名稱,種類,成本和銷售價格。

select products.名稱名稱a,

products.種類種類a,

products.成本成本a,

sales.名稱名稱b,

sales.銷售價格價格b

from products,sales where products.名稱=sales.名稱

and

銷售地點='海南'

3、在products表和sales表中查詢銷往北京的蔬菜名稱,種類,成本和銷售價格。

select products.名稱名稱a,

products.種類種類a,

products.成本成本a,

sales.名稱名稱b,

sales.銷售價格價格b

from products,sales where products.名稱=sales.名稱

and

銷售地點='北京'

and 種類='蔬菜'

實驗四:事務案例:完成轉賬的過程,如果轉賬1000會回滾,提示失敗,如果轉賬800,提示成功。

 要求:

(1)創建表名為bank,如圖所示:

(2)Currentmoney列的Check約束:

 

(3)插入兩條數據:

INSERT INTO bank(customerName,currentMoney)VALUES('張三',1000)

INSERT INTO bank(customerName,currentMoney)VALUES('李四',1)

(4)轉賬的過程。(先執行轉賬1000,查看結果;之後轉賬800,查看結果)

print '查看轉賬事務前的餘額'

select * from bank

go

begin transaction

declare @errorsum int

set @errorsum=0

update bank setcurrentmoney=currentmoney-800

where customername='張三'

set@errorsum=@errorsum+@@ERROR

update bank setcurrentmoney=currentmoney+800

where customername='李四'

set@errorsum=@errorsum+@@ERROR

 

print '查看轉賬事務前的餘額'

SELECT * from bank

 

if @errorsum<>0

begin

print '交易失敗,回滾事務'

rollback transaction

end

else

begin

print'交易成功,提交事務,寫入硬碟,永久地保存'

commit transaction

end

go

 

print'查看轉賬事務後的餘額'

SELECT * FROM bank

go


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ...
  • --查詢工資最高的前三名 (分頁的感覺)select * from(select * from emp order by sal desc) twhere rownum <=3--查詢工資最高的4到6名 (分頁-->排序 行號 選擇三步)select * from (select t.*,rownu ...
  • 在又是就業的高峰期了,我公司天天都有過來面試的,這不大學生們也都畢業了,今天這位小伙子就是個奇葩,面試不好好做酷炫特效或者能夠讓面試官眼前一輛的代碼,卻畫起了畫,面試官表示: 相信有很多學習大數據的道友,在這裡我給大家說說我滴群哦,大數據海量知識分享,784789432.在此我保證,絕對大數據的乾貨 ...
  • hive在查詢表信息時,中文顯示亂碼,數字或者url顯現null問題解決思路。 1、確定create hive表時指定的row format delimited fields terminated by ‘xxx’中“xxx”格式是否和原始導入表的data的行列分隔格式一致,如不一致,則會出現sel ...
  • oracle 11.2.0 expdp/impdp 數據泵參數 expdp參數 ATTACH 附加目前已有Job中。例如ATTACH=Job_name. CLUSTER 利用cluster或RAC分散式資源。設定值CLUSTER=[Y]/N 預設值為Y COMPRESSION 導出檔案的壓縮。設定值 ...
  • 目前,市場上的大數據產品太多,但遠遠低於IAAS的標準化水平,各產品之間的差異還不十分清楚。當許多公司正在製造大數據平臺或大數據解決方案時,他們往往不知道選擇哪些產品來滿足他們的需求。一般的做法是做研究、學習、建造環境、測試和整合各種產品,但通常這個過程很長,而且成本很高。如果你想瞭解大數據的學習路 ...
  • 原文:https://blog.csdn.net/andrewniu/article/details/78485312 原文:https://jingyan.baidu.com/article/76a7e40909b961fc3b6e1519.html ...
  • 一.概述 講到sql server鎖管理時,感覺它是一個大話題,因為它不但重要而且涉及的知識點很多,重點在於要掌握高併發要先要掌握鎖與事務,涉及的知識點多它包括各式各樣的鎖,鎖的組合,鎖的排斥,鎖延伸出來的事務隔離級別, 鎖住資源帶來的阻塞,鎖之間的爭用造成的死鎖,索引數據與鎖等。這次介紹鎖和事務, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...