SQLServer數據庫學習筆記
1,exists和in的理解(參考/article/)
exists:如果子查詢中包括某一行,那麼就爲TRUE
in:如果操作數爲TRUE等於表達式列表中的一個,那麼就爲TRUE
exists總是搞得不太明白
select 。。。from。。。where 。。。
where就相當於一個判斷條件,只有where後面的表達式運算結果爲TRUE,前面的才能select出來
EXISTS用於檢查子查詢是否至少會返回一行數據,該子查詢實際上並不返回任何數據,而是返回值True或False
1: SELECT omerId, CompanyName 2: FROM Customers c 3: WHERE EXISTS( 4: SELECT OrderID FROM Orders o 5: WHERE omerID = omerID)
像這樣的EXISTS子查詢中的SELECT什麼根本不重要,因爲子查詢只是檢查這個表中有沒有滿足WHERE後條件的行, 有就返回TRUE,沒有就FALSE,所以很多EXISTS後都是SELECT的*
一行行的去判定,EXISTS返回的是TRUE,就是存在,則把這行的相關信息輸出
1: select distinct 姓名 from xs 2: where not exists ( 3: select * from kc 4: where not exists ( 5: select * from xs_kc 6: where 學號=xs.學號 and 課程號=kc.課程號 )
分析下上面的查詢語句:
把最外層的xs表裏的記錄一行一行的同中層一行一的笛卡爾乘積後拿到裏面去檢驗
在最裏層,如果xs_kc表裏的某行有拿來檢驗的這行的學號,同時有中層拿來檢驗的.課程號
就返回TRUE,說明這個這個學生選了這門課
中層如果某門課程沒有收到返回的TRUE信息,說明這個名字和課程的搭配在xs_kc表中沒有,或者說中層select出來的是沒有被這個學生選擇的課程信息,如果有這樣的課程,就向最外層返回個TRUE
最外層在返回信息上加了not,即最外層找的是這樣的一種學生:
他選擇了所有的課程
最外層一行行的去檢測,如果他滿足這個條件,就輸出他的姓名且只輸出一次
我這是一層層的分析,還有麼有什麼別的辦法?
2,select。。。into @。。。
和select @。。。 = 。。。應該是相同的吧
3,用AS爲列重命名似乎比=更好點,和賦值區分開
4,用compute彙總的時候,如果是根據某列彙總的,先要order by此列,然後在compute相應信息,最後by此列
group或者compute的時候,如果by了某列,select裏都要出現相同的列
區別是group的聚合函數在select行中(稱爲選擇列表),而compute的聚合函數在compute行中,同時compute可以不帶by,對所有行彙總
-
不停車收費系統ETC分析報告
電子不停車收費系統(ElectronicTollCollection,ETC)是目前世界上最先進的收費系統,是智能交通系統(ITS)的服務功能之一。應用ETC系統,過往車輛通過道口時無須停車,即能夠實現自動收費,特別適於在高速公路或交通繁忙的橋隧環境下使用。ETC經歷了10年發展後開始在全國迅速...
-
玩家攻略系統九年級作文
皓宇被自家母親弄得一個頭兩個大的,而這邊的曉曉正在神遊中,卻被系統打斷,“恭喜玩家又朝着目標前進了一大步,依照這種速度發展,一定可以達到目標的,加油啊,歐尼”。曉曉自然是翹起了尾巴,嘿嘿,當然,也不看看偶是誰,美男自然都到我的碗裏來了唄。皓宇看到身邊的曉曉突然笑...
-
關於基於數據庫的多媒體技術在建築結構與識圖教學中的應用探討
摘要:建築結構與識圖作爲土建類專業的一門專業基礎課程,對學生的計算分析和空間想象能力有較高要求。利用多媒體技術可以將課程中的抽象概念具體化,並調動學生的學習情緒和注意力,有效提高教學效率。分析了建築結構與識圖課程的知識要點及結構層次,並在此基礎上給出...
-
數字系統課程設計精彩論文
數字鐘的設計是由軟件和硬件相配合使用而實現的,通過FPGA控制實現時間顯示與設置、秒錶、鬧鐘、日期顯示與設置諸多功能。今天小編爲大家準備了數字系統課程設計精彩論文,歡迎閱讀!摘要:數字化成圖是建立信息系統平臺重要的數據來源手段。數字測圖根據數據來源的...