濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記

sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記

熱門標(biāo)簽:al智能電話機(jī)器人 蘭州語(yǔ)音外呼系統(tǒng)運(yùn)營(yíng)商 沒聽見電話機(jī)器人幫你接 如何做地圖標(biāo)注圖鋪 銀川高頻外呼回?fù)芟到y(tǒng)多少錢 最新人工智能電銷機(jī)器人 數(shù)字匠心電銷機(jī)器人 陜西電銷外呼系統(tǒng)好用嗎 成都電話外呼系統(tǒng)一般多少錢
1,exists和in的理解(參考https://www.jb51.net/article/28922.htm)

exists:如果子查詢中包括某一行,那么就為TRUE

in:如果操作數(shù)為TRUE等于表達(dá)式列表中的一個(gè),那么就為TRUE

exists總是搞得不太明白

select 。。。from。。。where 。。。

where就相當(dāng)于一個(gè)判斷條件,只有where后面的表達(dá)式運(yùn)算結(jié)果為TRUE,前面的才能select出來(lái)

EXISTS用于檢查子查詢是否至少會(huì)返回一行數(shù)據(jù),該子查詢實(shí)際上并不返回任何數(shù)據(jù),而是返回值True或False

1: SELECT c.CustomerId, CompanyName 2: FROM Customers c 3: WHERE EXISTS( 4: SELECT OrderID FROM Orders o 5: WHERE o.CustomerID = cu.CustomerID)
像這樣的EXISTS子查詢中的SELECT什么根本不重要,因?yàn)樽硬樵冎皇菣z查這個(gè)表中有沒有滿足WHERE后條件的行, 有就返回TRUE,沒有就FALSE,所以很多EXISTS后都是SELECT的*

一行行的去判定,EXISTS返回的是TRUE,就是存在,則把這行的相關(guān)信息輸出

1: select distinct 姓名 from xs 2: where not exists ( 3: select * from kc 4: where not exists ( 5: select * from xs_kc 6: where 學(xué)號(hào)=xs.學(xué)號(hào) and 課程號(hào)=kc.課程號(hào) )
分析下上面的查詢語(yǔ)句:

把最外層的xs表里的記錄一行一行的同中層一行一的笛卡爾乘積后拿到里面去檢驗(yàn)

在最里層,如果xs_kc表里的某行有拿來(lái)檢驗(yàn)的這行的學(xué)號(hào),同時(shí)有中層拿來(lái)檢驗(yàn)的課程號(hào)

就返回TRUE,說明這個(gè)這個(gè)學(xué)生選了這門課

中層如果某門課程沒有收到返回的TRUE信息,說明這個(gè)名字和課程的搭配在xs_kc表中沒有,或者說中層select出來(lái)的是沒有被這個(gè)學(xué)生選擇的課程信息,如果有這樣的課程,就向最外層返回個(gè)TRUE

最外層在返回信息上加了not,即最外層找的是這樣的一種學(xué)生:

他選擇了所有的課程

最外層一行行的去檢測(cè),如果他滿足這個(gè)條件,就輸出他的姓名且只輸出一次

我這是一層層的分析,還有么有什么別的辦法?


2,select。。。into @。。。

和select @。。。 = 。。。應(yīng)該是相同的吧

3,用AS為列重命名似乎比=更好點(diǎn),和賦值區(qū)分開

4,用compute匯總的時(shí)候,如果是根據(jù)某列匯總的,先要order by此列,然后在compute相應(yīng)信息,最后by此列

group或者compute的時(shí)候,如果by了某列,select里都要出現(xiàn)相同的列

區(qū)別是group的聚合函數(shù)在select行中(稱為選擇列表),而compute的聚合函數(shù)在compute行中,同時(shí)compute可以不帶by,對(duì)所有行匯總

標(biāo)簽:本溪 遼源 朔州 宜春 鹽城 通化 邢臺(tái) 巴彥淖爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記》,本文關(guān)鍵詞  sqlserver,數(shù)據(jù)庫(kù),學(xué)習(xí),筆記,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于sqlserver 數(shù)據(jù)庫(kù)學(xué)習(xí)筆記的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    桑植县| 佳木斯市| 开鲁县| 塔城市| 徐闻县| 阳谷县| 仙游县| 上虞市| 玉树县| 新邵县| 乐至县| 永安市| 罗平县| 额济纳旗| 建瓯市| 措美县| 黄龙县| 介休市| 浑源县| 吉安市| 象州县| 常德市| 惠安县| 虎林市| 化隆| 沧州市| 子洲县| 凉山| 尼木县| 都兰县| 湘潭市| 泰宁县| 景谷| 隆德县| 齐河县| 博野县| 石嘴山市| 定远县| 乐安县| 宝坻区| 洪湖市|