SQL Join的一些總結(實例)建站知識
導讀:1建站知識Join是關系型數據庫系統的重要操作之一,SQL Server中包含的常用Join:內聯接、外聯接和交叉聯接等網站seo優化診斷工具建設網站。
1.1.1 摘要 Join是關系型數據庫系統的重要操作之一,SQL Server中包含的常用Join:內聯接、外聯接和交叉聯接等。如果我們想在兩個或以上的表獲取其中從一個表中的行與另一個表中的行匹配的數據,這時我們應該考慮使用Join,因為Join具體聯接表或函數進行查詢的特性 本文將通過具體例子介紹SQL中的各種常用Join的特性和使用場合: 1.1.2 正文 首先我們在tempdb中分別定義三個表College、Student和Apply,具體SQL代碼如下:
復制代碼 代碼如下:
USE tempdb ---- If database exists the same name datatable deletes it. IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'College') DROP TABLE College; IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Student') DROP TABLE Student; IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Apply') DROP TABLE Apply; ---- Create Database. create table College(cName nvarchar(50), state text, enrollment int); create table Student(sID int, sName nvarchar(50), GPA real, sizeHS int); create table Apply(sID int, cName nvarchar(50), major nvarchar(50), decision text);
Inner join 內聯接(Inner join)是最常用的聯接類型之一,它查詢滿足聯接謂詞的數據。 假設我們要查詢申請表Apply中申請學校的相關信息,由于Apply表中包含學校名字我們并不企業網站建設能預知,所以我們可以根據cName來內聯接(Inner join)表College和Apply,從而找到Apply表中包含學校的信息。 具體SQL代碼如下:復制代碼 代碼如下:
---- Gets college information from college table ---- bases on college name. SELECT DISTINCT College.cName, College.enrollment FROM College INNER JOIN Apply ON College.cName = Apply.cName
圖3左聯接查詢結果 如上圖3所網站建設多少錢示:由于在Apply表中并沒有學生申請Harvard,但是我們通過左聯接(left outer join)把所有學校信息查詢出來了。 由于左聯接(left outer join)產生表College的完全集,而Apply表中匹配的則有值,而不匹配的則以NULL值取代,所以我們知道Apply表中沒有學生申請Harvard。 通過左聯接查詢我們可以獲取College的完全集,假設現在我們既要獲取College的完全集又要獲取Apply的完全集,那么我們可以考慮使用完整外部聯接(full outer join)。使用完整外部聯接,我們可以查詢所有的學校,不管它們是否匹配聯接謂詞:復制代碼 代碼如下:
---- Gets all information from college and apply table. SELECT College.cName, College.state, College.enrollment, Apply.cName, Apply.major, Apply.decision FROM College FULL OUTER JOIN Apply ON College.cName = Apply.cName
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章SQL Join的一些總結(實例)建站知識主要講述實例,標簽,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6128.html