⑴ 求幫忙詳細解釋下這個sql查詢語句
從sales表和pronotions表中選出clerk_name、peomo_name、start_date、end_date欄位,以及對按組(clerk_name、peomo_name、start_date、end_date)查詢出來的sale_anount欄位進行求和,並顯示出來。,它的搜索條件是:sales表中的sale_anount大於等於從按組(s2.clerk_name)中選出來的且表sales欄位sale_date在pronotions表中的start_date和end_date時間段內的數據sale_anount。
上面的語句嵌套了兩層select語句 ,後面的select語句 是說從sales表中選出按組clerk_name分配的數據,且這些數據的sale_date值在表pronotions中start_date和end_date這兩個時間之間。這個select語句選出來的數據是作為第一個select語句查詢數據的條件的。第一個select語句的理解就是我第一段前面說的搜索條件之前的那些內容。
如果能幫到你,望隨手採納,有什麼不懂,請追問。
⑵ 這個SQL子查詢怎麼理解!初學者
我們可以先看裡面的查詢信息【select* from xs_kc as cj2 where cj2.學號='001102' 】和 【select * from xs_kc as cj3 where cj3.學號=cj1.學號 and cj3.課程號= cj2.課程號】 這兩句的意思是 1. 從表xs_kc 中查詢 cj2.學號=001102 的所有信息;2.從表xs_kc 中查詢所有信息 條件是 cj3.學號=cj1.學號 and cj3.課程號= cj2.課程號。然後在往外看一層【where not exists
(select* from xs_kc as cj2 where cj2.學號='001102' and
not exists (select * from xs_kc as cj3 where cj3.學號=cj1.學號 and cj3.課程號= cj2.課程號))】
這句的意思是,排除上述兩個子查詢的信息,再連上前面的【select 學號from xs_kc as cj1 】 ,那麼整句話的意思就是 從表xs_kc 中查詢「學號」這個屬性的所有信息,但是排除 【學號=001102 】和 【cj3.學號=cj1.學號 and cj3.課程號= cj2.課程號】 的所有信息。
⑶ SQL查詢的含義
http://..com/question/456302976.html?qbl=relate_question_0&word=not%20in&optimi=4差不多的問題,自己看看就懂得
⑷ sql語句查詢問題,大概可以這樣理解,查出每個人收入最多的前2個月
如果是sql server的話,獲取每個name的最小兩條數據
selectB.*FROM(selectnamefromtagroupbyname)A
CROSSAPPLY
(SELECTTOP(2)id,name,moneyFROMta
bWHEREA.name=B.name
ORDERBYID)
B
⑸ SQL的核心操作為什麼是數據查詢
因為執行操作的最關鍵的是數據查詢,SQL查詢的基本原理:兩種情況介紹。
第一、單表查詢:根據WHERE條件過濾表中的記錄,形成中間表(這個中間表對用戶是不可見的);然後根據SELECT的選擇列選擇相應的列進行返回最終結果。
第二、兩表連接查詢:對兩表求積(笛卡爾積
)並用ON條件和連接連接類型進行過濾形成中間表;然後根據WHERE條件過濾中間表的記錄,並根據SELECT指定的列返回查詢結果。
第三、多表連接查詢:先對第一個和第二個表按照兩表連接做查詢,然後用查詢結果和第三個表做連接查詢,以此類推,直到所有的表都連接上為止,最終形成一個中間的結果表,然後根據WHERE條件過濾中間表的記錄,並根據SELECT指定的列返回查詢結果。
理解SQL查詢的過程是進行SQL優化的理論依據。
ON後面的條件(ON條件)和WHERE條件的區別:
ON條件:是過濾兩個鏈接表笛卡爾積形成中間表的約束條件。
WHERE條件:在有ON條件的SELECT語句中是過濾中間表的約束條件。在沒有ON的單表查詢中,是限制物理表或者中間查詢結果返回記錄的約束。在兩表或多表連接中是限制連接形成最終中間表的返回結果的約束。
從這里可以看出,將WHERE條件移入ON後面是不恰當的。推薦的做法是:
ON只進行連接操作,WHERE只過濾中間表的記錄。
⑹ SQL的查詢語句中有一個「自連接查詢」怎麼理解
假設在【成績表】有【主鍵ID】【學生姓名】【課程名稱】【成績】等欄位。
現在要查詢 「語文成績>=數學成績」的學生姓名,這時就可以使用自連接查詢:
select 【學生姓名】
from 【成績表】 AS a,【成績表】 AS b
where a.【主鍵ID】=b.【主鍵ID】
and a.【成績】>=b.【成績】
and a.【課程名稱】='語文'
and b.【課程名稱】='數學'
自連接是指使用表的別名實現表與其自身連接的查詢方法。
⑺ 這個SQL語句如何理解
就是統計B表和A表用ID連接的行數,子查詢的行數=0,就可以實現從B表中排除A表數據。
⑻ SQL查詢語句是什麼
SQL 一詞實際上是 "Structured Query Language" 結構式查詢語言的縮寫,是用於對存放在計算機資料庫中的數據進行組織、管理和檢索的一種工具;是一種特定類型的資料庫 -- 關系資料庫。而控制這種資料庫的計算機程序就是我們常說的 DBMS-- 資料庫管理系統。譬如:SQL Server、Oracle、Sybase、DB2 等等。當用戶想要檢索資料庫中的數據時,就通過 SQL 語言發出請求,接著 DBMS 對該 SQL 請求進行處理並檢索所要求的數據,最後將其返回給用戶,此過程被稱作為資料庫查詢,這也就是資料庫查詢語言這一名稱的由來。
SQL 並不是象 C、COBOL 和 Fortran 語言那樣的完整的計算機語言。SQL 沒有用於條件測試的 IF 語句,也沒有用於程序分支的 Goto 語句以及循環語句 For 或 Do。確切的講,SQL 是一種資料庫子語言,SQL 語句可以被嵌入到另一種語言中,從而使其具有資料庫存取功能。SQL 也非嚴格的結構式語言,它的句法更接近英語語句,因此易於理解,大多數 SQL 語句都是直述其意,讀起來就象自然語言一樣明了。SQL 還是一種互動式查詢語言,允許用戶直接查詢存儲數據,利用這一交互特性,用戶可以在很短的時間內回答相當復雜的問題,而同樣問題若讓程序員編寫相應的報表程序則可能要用幾個星期甚至更長時間。
⑼ 什麼是sql查詢需要用到什麼語句
SQL查詢是指在資料庫中進行數據調用並按照指定規則查找出想要的數據,查詢可以方便瀏覽;
標准語句
select 列名,列名1 from 表名 where 條件;