亚洲成a人片在线观看www_二区免费视频_免费在线观看毛片_国产精品www爽爽爽视频_国产一区av在线_区美毛片

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > 艾銻分享 >

艾銻知識 |SQL中Exists的用法


2020-03-04 17:45 作者:admin 瀏覽量:
煩惱即菩提,菩提即智慧
 
 
 
疫情放慢了管理者的腳步,卻沒有放慢管理者的心,對于企業來說,在富有的時候,可以說說情懷,說說理想,但在貧窮受困的時候,沒有飯吃的時候,情懷和理想其實并不重要,重要的是下一頓吃什么?在哪吃呢?
 
前幾天,有篇文章報道某云南大型企業的人事總監被總經理怒罵的郵件很火,為什么會發生這樣的事,我覺得身為一個企業的員工,無論你處在什么崗位,什么職位,一定要審時度勢,要知道企業要什么,俗話說,大河有水小河滿,只有企業活下來了,活好了,組織里的員工才能真正拿到自己想要的,如果在危難時機,你還在堅持自己觀點,抱持著自己的思維不改變,不能與企業思想同步,那最終也不會有什么好的結果.
 
在這里艾銻無限給已經上班或即將上班的各個企業伙伴一些忠告:
 
1,困難時期,在為自己著想的同時多想想能為企業做點什么,今天你的付出,明天不一定會有收獲,但長久來看,能量守恒定律,你是不會吃虧的.
 
2,在經濟還沒復蘇的時期,企業還不太忙的時候,除了做好自己部門手頭上的工作以外,把自己的大腦開動起來,如果你是職員,就想想假如你是這個部門經理,你如何做可以讓部門的損失降到最低,讓收益提升到最大.如果你是經理就想想假如你是企業的CEO,你如何做可以讓企業快速恢復狀態,讓業務快速發展起來,讓現金流可以流動起來?
 
3,如果你處在花錢的部門,就想想如何做可以省錢,又可以為部門創收,如果你是創收的部門,就想想原來從來就沒想過的問題,因為你不能破舊就不能立新,不能創造就是在消耗.
 
4,管理團隊間,如果不是能力問題,不僅行動要勤快,大腦更要勤快一些,除了思考自己部門的工作,也要思考其他部門的工作,你的團隊可以做些什么更利于其他部門的發展,你可以做些什么更助于其他管理者達成目標,整個企業就像一臺齒輪吻合的機器,只有彼此主動吻合才能讓這臺機器更好的運轉,這也像打群架,如果每一個人都能照顧好自己,還能為他人著想,就不會受傷,也能全身而退,有一個人需要他人照顧,就很可能有人受傷,并導致全隊受損.
 
5,無論什么時期,不要害怕困難,不要拒絕煩惱, 煩惱即菩提,菩提即智慧,偉大的洞見和上師都是來自于苦難和無數次的折磨.相信宇宙的安排,無論是事,還是人,來到你的身邊就是成就你的,所以把心安于當下,盡一切努力做到盡善盡美.
 
接下來分享一則技術信息,以許會對你的企業有所幫助:
 
 
 
艾銻知識 |SQL中Exists的用法
比如在Northwind數據庫中有一個查詢為
?
1
2
3
SELECT c.CustomerId,CompanyName FROM Customers c
WHERE EXISTS(
SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID)
這里面的EXISTS是如何運作呢?子查詢返回的是OrderId字段,可是外面的查詢要找的是CustomerID和CompanyName字段,這兩個字段肯定不在OrderID里面啊,這是如何匹配的呢?
EXISTS用于檢查子查詢是否至少會返回一行數據,該子查詢實際上并不返回任何數據,而是返回值True或False
EXISTS 指定一個子查詢,檢測 行 的存在。
語法: EXISTS subquery
參數: subquery 是一個受限的 SELECT 語句 (不允許有 COMPUTE 子句和 INTO 關鍵字)。
結果類型: Boolean 如果子查詢包含行,則返回 TRUE ,否則返回 FLASE 。
例表A:TableIn 例表B:TableEx
 
(一). 在子查詢中使用 NULL 仍然返回結果集
?
1 select * from TableIn where exists(select null)
等同于: select * from TableIn
  
(二). 比較使用 EXISTS 和 IN 的查詢。注意兩個查詢返回相同的結果。
?
1
2
select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME)
select * from TableIn where ANAME in(select BNAME from TableEx)
 
(三). 比較使用 EXISTS 和 = ANY 的查詢。注意兩個查詢返回相同的結果。
?
1
2
select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME)
select * from TableIn where ANAME=ANY(select BNAME from TableEx)
 
NOT EXISTS 的作用與 EXISTS 正好相反。如果子查詢沒有返回行,則滿足了 NOT EXISTS 中的 WHERE 子句。
結論:
EXISTS(包括 NOT EXISTS )子句的返回值是一個BOOL值。 EXISTS內部有一個子查詢語句(SELECT ... FROM...), 我將其稱為EXIST的內查詢語句。其內查詢語句返回一個結果集。 EXISTS子句根據其內查詢語句的結果集空或者非空,返回一個布爾值。
一種通俗的可以理解為:將外查詢表的每一行,代入內查詢作為檢驗,如果內查詢返回的結果取非空值,則EXISTS子句返回TRUE,這一行行可作為外查詢的結果行,否則不能作為結果。
分析器會先看語句的第一個詞,當它發現第一個詞是SELECT關鍵字的時候,它會跳到FROM關鍵字,然后通過FROM關鍵字找到表名并把表裝入內存。接著是找WHERE關鍵字,如果找不到則返回到SELECT找字段解析,如果找到WHERE,則分析其中的條件,完成后再回到SELECT分析字段。最后形成一張我們要的虛表。
WHERE關鍵字后面的是條件表達式。條件表達式計算完成后,會有一個返回值,即非0或0,非0即為真(true),0即為假(false)。同理WHERE后面的條件也有一個返回值,真或假,來確定接下來執不執行SELECT。
分析器先找到關鍵字SELECT,然后跳到FROM關鍵字將STUDENT表導入內存,并通過指針找到第一條記錄,接著找到WHERE關鍵字計算它的條件表達式,如果為真那么把這條記錄裝到一個虛表當中,指針再指向下一條記錄。如果為假那么指針直接指向下一條記錄,而不進行其它操作。一直檢索完整個表,并把檢索出來的虛擬表返回給用戶。EXISTS是條件表達式的一部分,它也有一個返回值(true或false)。
在插入記錄前,需要檢查這條記錄是否已經存在,只有當記錄不存在時才執行插入操作,可以通過使用 EXISTS 條件句防止插入重復記錄。
?
1
2
3
INSERT INTO TableIn (ANAME,ASEX)
SELECT top 1 '張三', '男' FROM TableIn
WHERE not exists (select * from TableIn where TableIn.AID = 7)
EXISTS與IN的使用效率的問題,通常情況下采用exists要比in效率高,因為IN不走索引,但要看實際情況具體使用:
IN適合于外表大而內表小的情況;EXISTS適合于外表小而內表大的情況。
以上所述是小編給大家介紹的SQL中Exists的用法,希望對大家有所幫助
 

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 99视频免费看 | 在线视频h| 国产精品av久久久久久无 | 视频一区二区在线观看 | 久久精品小视频 | 午夜精品在线观看视频 | 久久综合九色综合97网 | 亚洲精品中文字幕中文字幕 | 久久久久人人 | 成人人人人人欧美片做爰 | 与丰满少妇做爽视频 | 国产精品视频一区二区三区四区国 | 两根黑人粗大噗嗤噗嗤视频 | 日韩亚洲视频在线观看 | 国产精品成人影院在线 | 国产精品一二三区 | 成人爽a毛片一区二区免费 国产综合视频在线观看 | 亚洲特黄a级毛片在线播放 男女插插插网站 | 韩国少妇激三级做爰 | 亚洲人成精品久久久久 | 一级特黄色大片 | 色噜噜狠狠一区二区三区果冻av | 一区精品在线 | aaa在线| 国四虎影永久去哪里了 | 国产精品久久久91 | av亚洲在线| 性色av一区二区三区免费播放 | 揉啊嗯高潮孕妇视频 | 国产又色又爽又剌激的视频 | 欧美一级欧美一级高清 | 成人免费a级片 | 亚洲小说图区综合在线 | 久草在线最新免费 | 99久久国产综合麻豆99久久 | www久| 精品综合久久久久久99粉芽 | 欧美日韩成人一区二区 | 成年女性特黄午夜视频免费看 | 国产高清学生妹在线观看视频一区 | 成人免费A级黄毛片 |