




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SQL教程? Next PageSQL是用于訪問和處理數據庫的標準的計算機語言。Oracle, Sybase,在本教程中,您將學到如何使用 SQL訪問和處理數據系統中的數據,這類數據庫包括:SQL Server, DB2, Access 等等。開始學習SQL !注:本教程中出現的姓名、地址等信息僅供教學,與實際情況無關。SQL測驗在W3School 測試你的SQL技能!開始SQL測驗!SQL簡介P revious P ageNext PageSQL是用于訪問和處理數據庫的標準的計算機語言。什么是SQL ?SQL指結構化查詢語言SQL使我們有能力訪問數據庫SQL是一種ANSI的標準計算機語言編者
2、注:ANSI,美國國家標準化組織SQL能做什么?SQL面向數據庫執行查詢SQL可從數據庫取回數據SQL可在數據庫中插入新的紀錄SQL可更新數據庫中的數據SQL可從數據庫刪除記錄SQL可創建新數據庫SQL可在數據庫中創建新表SQL可在數據庫中創建存儲過程SQL可在數據庫中創建視圖SQL可以設置表、存儲過程和視圖的權限SQL是一種標準-但是SQL是一門ANSI的標準計算機語言,用來訪問和操作數據庫系統。 的數據。SQL可與數據庫程序協同工作,比如MS AccessSybase以及其他數據庫系統。SQL語句用于取回和更新數據庫中、DB2、Informix 、MS SQL Server、Oracle、
3、不幸地是,存在著很多不同版本的 同地來支持一些主要的關鍵詞(比如SQL語言,但是為了與SELECT、UP DATE、ANSI標準相兼容,它們必須以相似的方式共DELETE、INSERT、WHERE 等等)。注釋:除了 SQL標準之外,大部分SQL數據庫程序都擁有它們自己的私有擴展!在您的網站中使用 SQL要創建發布數據庫中數據的網站,您需要以下要素:RDBMS 數據庫程序(比如 MS Access, SQL Server, MySQL ) 服務器端腳本語言(比如 PHP或ASP)SQLHTML/CSSRDBMSRDBMS指的是關系型數據庫管理系統。RDBMSMySQL是SQL的基礎,同樣也是所
4、有現代數據庫系統的基礎,比如MS SQL Server, IBM DB2, Oracle,以及 Microsoft Access 。RDBMS中的數據存儲在被稱為表(tables )的數據庫對象中。表是相關的數據項的集合,它由列和行組成。SQL語法P revious P ageNext Page數據庫表一個數據庫通常包含一個或多個表。每個表由一個名字標識(例如“客戶”或者“訂單”)。表包含帶有數據的記錄(行)。下面的例子是一個名為"P ersons"的表:IdLastNameFirstNameAddressCityAdamsJohnOxford StreetLondonBu
5、shGeorgeFifth AvenueNew YorkCarterThomasChangan StreetBeijing上面的表包含三條記錄(每一條對應一個人)和五個列(Id、姓、名、地址和城市)。SQL語句您需要在數據庫上執行的大部分工作都由SQL語句完成。下面的語句從表中選取LastName 列的數據:SELECT LastName FROM P ersons結果集類似這樣:LastNameAdamsBushCarter在本教程中,我們將為您講解各種不同的SQL語句。重要事項一定要記住,SQL對大小寫不敏感!SQL語句后面的分號?某些數據庫系統要求在每條 SQL命令的末端使用分號。在我們
6、的教程中不使用分號。分號是在數據庫系統中分隔每條SQL語句的標準方法,這樣就可以在對服務器的相同請求中執行一條以上的語句。如果您使用的是 MS Access和SQL Server 2000 ,則不必在每條 SQL語句之后使用分號,不過某些數據庫軟件要求必須使用分號。SQL DML 和 DDL可以把SQL分為兩個部分:數據操作語言 (DML)和數據定義語言(DDL)。SQL (結構化查詢語言)是用于執行查詢的語法。但是SQL語言也包含用于更新、插入和刪除記錄的語法。查詢和更新指令構成了 SQL的DML部分:SELECT -從數據庫表中獲取數據UP DATE -更新數據庫表中的數據DELETE -
7、從數據庫表中刪除數據INSERT INTO -向數據庫表中插入數據SQL的數據定義語言(DDL)的鏈接,以及施加表間的約束。部分使我們有能力創建或刪除表格。我們也可以定義索引(鍵),規定表之間SQL中最重要的 DDL語句:CREATE DATABASE-創建新數據庫ALTER DATABASE-修改數據庫CREATE TABLE -倉U建新表ALTER TABLE -變更(改變)數據庫表DROP TABLE -刪除表CREATE INDEX -創建索引(搜索鍵)DROP INDEX -刪除索弓ISQL SELECT 語句?P revious P age? Next Page本章講解SELECT
8、和SELECT *語句。SQL SELECT 語句SELECT語句用于從表中選取數據。結果被存儲在一個結果表中(稱為結果集)SQL SELECT 語法SELECT列名稱FROM表名稱以及:SELECT * FROM 表名稱注釋:SQL語句對大小寫不敏感。 SELECT等效于select。SQL SELECT 實例如需獲取名為"LastName" 和"FirstName" 的列的內容(從名為"Persons"的數據庫表),請使用類似 這樣的SELECT語句:SELECT LastName,FirstName FROM Persons&q
9、uot;P ersons"表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijing結果:LastNameFirstNameAdamsJohnBushGeorgeCarterThomasSQL SELECT *實例現在我們希望從"P ersons" 表中選取所有的列。請使用符號*取代列的名稱,就像這樣:SELECT * FROM P ersons提示:星號(*)是選取所有列
10、的快捷方式。結果:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijing在結果集(result-set)中導航由SQL查詢程序獲得的結果被存放在一個結果集中。大多數數據庫軟件系統都允許使用編程函數在結果集中進行導航,比如:Move-To-First-Record 、Get-Record-Content 、Move-To-Next-Record 等等。ADO教類似這些編程函數不在本教程講解之列。如需學習通
11、過函數調用訪問數據的知識,請訪問我們的 程和PHP教程。SQL SELECT DISTINCT 語句P revious P ageNext Page本章講解SELECT DISTINCT 語句。SQL SELECT DISTINCT 語句distinct )的值。在表中,可能會包含重復值。這并不成問題,不過,有時您也許希望僅僅列出不同(關鍵詞 DISTINCT用于返回唯一不同的值。語法:SELECT DISTINCT列名稱FROM表名稱使用 DISTINCT關鍵詞如果要從"Com pany"列中選取所有的值,我們需要使用SELECT語句:SELECT Comp any FR
12、OM Orders"Orders"表:Comp anyOrderNumberIBM3532W3School2356App le4698W3School6953結果:Comp anyIBMW3SchoolAppleW3School請注意,在結果集中,W3School被列出了兩次。如需從Company" 列中僅選取唯一不同的值,我們需要使用SELECT DISTINCT語句:SELECT DISTINCT Company FROM Orders結果:Comp anyIBMW3SchoolApple現在,在結果集中,"W3School" 僅被列出了一
13、次。SQL SELECT DISTINCT 語句P revious P age? Next Page本章講解SELECT DISTINCT 語句。SQL SELECT DISTINCT 語句distinct )的值。在表中,可能會包含重復值。這并不成問題,不過,有時您也許希望僅僅列出不同(關鍵詞 DISTINCT用于返回唯一不同的值。語法:SELECT DISTINCT列名稱FROM表名稱使用 DISTINCT關鍵詞如果要從"Com pany"列中選取所有的值,我們需要使用SELECT語句:SELECT Comp any FROM Orders"Orders&qu
14、ot;表:Comp anyOrderNumberIBM3532W3School2356App le4698W3School6953結果:Comp anyIBMW3SchoolAppleW3School請注意,在結果集中,W3School被列出了兩次。如需從Comp any"列中僅選取唯一不同的值,我們需要使用SELECT DISTINCT語句:SELECT DISTINCTComp any FROM Orders結果:Comp anyIBMW3SchoolApple現在,在結果集中,"W3School"僅被列出了一次。SQL AND & OR運算符? P
15、revious P age? Next PageAND和OR運算符用于基于一個以上的條件對記錄進行過濾。AND 和OR運算符AND 和OR可在WHERE子語句中把兩個或多個條件結合起來。如果第一個條件和第二個條件都成立,則AND運算符顯示一條記錄。如果第一個條件和第二個條件中只要有一個成立,則OR運算符顯示一條記錄。原始的表(用在例子中的):LastNameFirstNameAddressCityAdamsJohnOxford StreetLondonBushGeorgeFifth AvenueNew YorkCarterThomasChangan StreetBeijingCarterWil
16、liamXuanwumen 10BeijingAND運算符實例使用AND來顯示所有姓為"Carter" 并且名為 "Thomas" 的人:AND LastName='Carter'SELECT * FROM P ersons WHERE FirstName='Thomas'結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingOR運算符實例使用OR來顯示所有姓為"Carter" 或者名為"Thomas" 的人:
17、OR lastname='Carter'SELECT * FROM P ersons WHERE firstname='Thomas'結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingCarterWilliamXuanwumen 10Beijing結合AND和OR運算符我們也可以把AND和OR結合起來(使用圓括號來組成復雜的表達式)SELECT * FROM P ersons WHERE(FirstName='Thomas'OR FirstName='Willi
18、am' )AND LastName='Carter'結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingCarterWilliamXuanwumen 10BeijingP revious P age? Next PageAND和OR運算符用于基于一個以上的條件對記錄進行過濾。AND 和OR運算符AND 和OR可在WHERE子語句中把兩個或多個條件結合起來。OR運算符顯示一條記錄。如果第一個條件和第二個條件都成立,則AND運算符顯示一條記錄。原始的表(用在例子中的):LastNameFirstNa
19、meAddressCityAdamsJohnOxford StreetLondonBushGeorgeFifth AvenueNew YorkCarterThomasChangan StreetBeijingCarterWilliamXuanwumen 10BeijingAND運算符實例使用AND來顯示所有姓為"Carter"并且名為"Thomas"的人:如果第一個條件和第二個條件中只要有一個成立,則AND LastName='Carter'SELECT * FROM P ersons WHERE FirstName='Thoma
20、s'結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingOR運算符實例使用OR來顯示所有姓為"Carter" 或者名為"Thomas" 的人:OR lastname='Carter'SELECT * FROM P ersons WHERE firstname='Thomas'結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingCarterWilliamXuanwum
21、en 10Beijing結合AND和OR運算符我們也可以把AND和OR結合起來(使用圓括號來組成復雜的表達式)SELECT * FROM P ersons WHERE(FirstName='Thomas'OR FirstName='William' )AND LastName='Carter'_結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingCarterWilliamXuanwumen 10BeijingSQL INSERT INTO語句P revious P age
22、Next PageINSERT INTO 語句INSERT INTO語句用于向表格中插入新的行。語法INSERT INTO 表名稱 VALUES (值 1,值2,.)我們也可以指定所要插入數據的列:INSERT INTO table_name (列1,列2,.) VALUES (值 1,值2,.)插入新的行"P ersons"表:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingSQL語句:INSERT INTO P ersons VALUES ('Gates', 'Bill
23、39;, 'Xuanwumen 10', 'Beijing')結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingGatesBillXuanwumen 10Beijing在指定的列中插入數據"P ersons"表:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingGatesBillXuanwumen 10BeijingSQL語句:INSERT INTO Persons (LastName, Add
24、ress) VALUES ('Wilson', 'Cha mp s-Elysees')SQL UP DATE語句結果:LastNameFirstNameAddressCityCarterThomasChangan StreetBeijingGatesBillXuanwumen 10BeijingWilsonChamp s-ElyseesP revious P ageNext PageUp date語句Up date語句用于修改表中的數據。語法:UP DATE表名稱SET列名稱=新值WHERE列名稱=某值Person:LastNameFirstNameAddres
25、sCityGatesBillXuanwumen 10BeijingWilsonChamp s-Elysees更新某一行中的一個列我們為 lastname 是"Wilson"的人添加 firstname :UP DATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'結果:LastNameFirstNameAddressCityGatesBillXuanwumen 10BeijingWilsonFredChamp s-Elysees更新某一行中的若干列我們會修改地址(address
26、),并添加城市名稱(city):UP DATE P erson SET Address='Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson'結果:LastNameFirstNameAddressCityGatesBillXuanwumen 10BeijingWilsonFredZhongshan 23NanjingSQL DELETE語句P revious P ageNext PageDELETE語句DELETE語句用于刪除表中的行。語法DELETE FROM表名稱 WHERE列名稱=
27、值Person:LastNameFirstNameAddressCityGatesBillXuanwumen 10BeijingWilsonFredZhongshan 23Nanjing刪除某行"Fred Wilson"會被刪除:DELETE FROM P erson WHERELastName = 'Wilson'結果:LastNameFirstNameAddressCityGatesBillXuanwumen 10Beijing刪除所有行屬性和索引都是完整的:可以在不刪除表的情況下刪除所有的行。這意味著表的結構、DELETE FROM table nam
28、e或者:DELETE * FROM table nameSQL TOP子句P revious P ageNext PageTOP子句TOP子句用于規定要返回的記錄的數目。對于擁有數千條記錄的大型表來說,TOP子句是非常有用的。注釋:并非所有的數據庫系統都支持TOP子句。SQL Server 的語法:SELECT TOP number percent column_name(s)FROM table nameMySQL 和 Oracle 中的 SQL SELECT TOP 是等價的MySQL語法SELECT column_name(s)FROM table nameLIMIT number例子S
29、ELECT *FROM P ersonsLIMIT 5Oracle 語法SELECT column_name(s)FROM table nameWHERE ROWNUM <= number例子SELECT *FROM PersonsWHERE ROWNUM <= 5原始的表(用在例子中的):Persons 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijing4ObamaBarackP
30、ennsylvania AvenueWashingtonSQL TOP 實例現在,我們希望從上面的"P ersons"表中選取頭兩條記錄。我們可以使用下面的 SELECT語句:SELECT TOP 2 * FROM Persons結果:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew YorkSQL TOP P ERCENT實例現在,我們希望從上面的"P ersons"表中選取50%的記錄。我們可以使用下面的 SELECT語句:SEL
31、ECT TOP 50 PERCENT * FROM PersonsSQL LIKE操作符結果:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew YorkP revious P ageNext PageLIKE操作符用于在 WHERE子句中搜索列中的指定模式。LIKE操作符LIKE操作符用于在 WHERE子句中搜索列中的指定模式。SQL 口KE操作符語法SELECT column_name(s)FROM table nameWHERE column_name LIKE p a
32、ttern原始的表(用在例子中的):LIKE操作符實例Persons 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijing例子1現在,我們希望從上面的"P ersons"表中選取居住在以"N"開始的城市里的人:我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsWHERE City LIKE 'N%'提示:&qu
33、ot;"可用于定義通配符(模式中缺少的字母)結果集:IdLastNameFirstNameAddressCityBushGeorgeFifth AvenueNew York例子接下來,我們希望從"P ersons" 表中選取居住在以"g"結尾的城市里的人:我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsWHERE City LIKE '%g'結果集:IdLastNameFirstNameAddressCityCarterThomasChangan StreetBeijing例子接下來,我們希望從
34、"P ersons" 表中選取居住在包含"Ion"的城市里的人:我們可以使用下面的SELECT 語句:SELECT * FROM P ersonsWHERE City LIKE '%lon%'結果集:IdLastNameFirstNameAddressCityAdamsJohnOxford StreetLondon例子通過使用NOT關鍵字,我們可以從"Persons" 表中選取居住在不包含"Ion"的城市里的人:我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsWHE
35、RE City NOT l_l KE '%lon%'結果集:IdLastNameFirstNameAddressCity2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijingSQL通配符P revious P age? Next Page在搜索數據庫中的數據時,您可以使用SQL通配符。SQL通配符在搜索數據庫中的數據時,SQL通配符可以替代一個或多個字符。SQL通配符必須與 LIKE運算符一起使用。在SQL中,可使用以下通配符:描述通配符替代一個或多個字符僅替代一個字符charlist字符列中的任何單一
36、字符Fcharlist 或者不在字符列中的任何單一字符!charlist原始的表(用在例子中的):Persons 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew YorkCarterThomasChangan StreetBeijing使用%通配符例子現在,我們希望從上面的"P ersons"表中選取居住在以"Ne"開始的城市里的人:我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsWHERE C
37、ity LIKE 'Ne%'結果集:IdLastNameFirstNameAddressCityBushGeorgeFifth AvenueNew York例子接下來,我們希望從"P ersons" 表中選取居住在包含"lond"的城市里的人:我們可以使用下面的SELECT 語句:SELECT * FROM P ersonsWHERE City LIKE '%lond%'結果集:IdLastNameFirstNameAddressCityAdamsJohnOxford StreetLondon使用通配符例子現在,我們希望從
38、上面的"P ersons"表中選取名字的第一個字符之后是"eorge"的人:WHERE FirstName LIKE '_eorge'結果集:我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsIdLastNameFirstNameAddressCityBushGeorgeFifth AvenueNew York例子我們可以使用下面的 SELECT語句:SELECT * FROM P ersons"P ersons"表中選取的這條記錄的姓氏以"C"開頭,然后是一個任意字
39、符,然后是接下來,我們希望從"r",然后是任意字符,然后是 "er"我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsWHERE LastName LIKE 'C r er'結果集:IdLastNameFirstNameAddressCityCarterThomasChangan StreetBeijing使用charlist通配符例子現在,我們希望從上面的"P ersons"表中選取居住的城市以"A"或"L"或"N"開頭的人:
40、我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsWHERE City LIKE 'ALN%'IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York例子2現在,我們希望從上面的"P ersons"表中選取居住的城市不以"A"或"結果集:L"或"N"開頭的人:WHERE City LIKE '!ALN%'結果集:IdLastNam
41、eFirstNameAddressCityCarterThomasChangan StreetBeijingSQL IN操作符P revious P ageNext PageIN操作符IN操作符允許我們在 WHERE子句中規定多個值。SQL IN語法SELECT column_name(s)FROM table nameWHERE column_name IN (value1,value2,.)原始的表(在實例中使用:)IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew Yo
42、rk3CarterThomasChangan StreetBeijingPersons 表:IN操作符實例現在,我們希望從上表中選取姓氏為Adams 和 Carter 的人:我們可以使用下面的 SELECT語句:SELECT * FROM P ersonsWHERE LastName IN ('Adams','Carter')結果集:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon3CarterThomasChangan StreetBeijingSQL BETWEEN 操作符P reviou
43、s P ageNext PageBETWEEN操作符在WHERE子句中使用,作用是選取介于兩個值之間的數據范圍。BETWEEN操作符SELECT column_name(s)FROM table name操作符BETWEEN . AND 會選取介于兩個值之間的數據范圍。這些值可以是數值、文本或者日期。SQL BETWEEN 語法WHERE column nameBETWEEN value1 AND value2原始的表(在實例中使用:)Persons 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorge
44、Fifth AvenueNew York3CarterThomasChangan StreetBeijing4GatesBillXuanwumen 10BeijingBETWEEN 操作符實例如需以字母順序顯示介于"Adams"(包括)和"Carter"(不包括)之間的人,請使用下面的 SQL :SELECT * FROM P ersonsSELECT * FROM P ersonsWHERE LastNameBETWEEN 'Adams'AND 'Carter'結果集:IdLastNameFirstNameAddress
45、City1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York重要事項:不同的數據庫對 BETWEENAND 操作符的處理方式是有差異的。某些數據庫會列出介于和"Carter" 之間并包括"Adams""Adams" 和"Carter" 之間的人,但不包括"Adams" 和"Carter"某些數據庫會列出介于"Adams"和"Carter" 的人;而另一些數據庫會列出介于
46、"Adams" 和"Carter" 之間的人,包括 "Adams",但不包括 "Carter"。所以,請檢查你的數據庫是如何處理BETWEEN.AND 操作符的!實例2如需使用上面的例子顯示范圍之外的人,請使用NOT操作符:WHERE LastNameNOT BETWEEN 'Adams' AND 'Carter'結果集:IdLastNameFirstNameAddressCity3CarterThomasChangan StreetBeijing4GatesBillXuanwume
47、n 10BeijingSQL JOINP revious P age? Next PageSQL join用于根據兩個或多個表中的列之間的關系,從這些表中查詢數據。Join 和 Keyjoin 。有時為了得到完整的結果,我們需要從兩個或更多的表中獲取結果。我們就需要執行數據庫中的表可通過鍵將彼此聯系起來。主鍵( 唯一的。在表中,每個主鍵的值都是唯一的。 表間的數據交叉捆綁在一起。Primary Key )是一個列,在這個列中的每一行的值都是 這樣做的目的是在不重復每個表中的所有數據的情況下,把請注意,名完全相同,Id_P也可以區分他們。"Id P"列是Persons表中的的
48、主鍵。這意味著沒有兩行能夠擁有相同的Id_P。即使兩個人的姓接下來請看"Orders"表:Id OOrderNoId P77895446782245624562請看"P ersons"表:ld_PLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew York3CarterThomasChangan StreetBeijing6534764請注意,"Id_O"列是Orders 表中的的主鍵,同時,"Orders&q
49、uot; 表中的"Id_P"列用于引用 "Persons" 表 中的人,而無需使用他們的確切姓名。請留意,"ld_ P"列把上面的兩個表聯系了起來。引用兩個表我們可以通過引用兩個表的方式,從兩個表中獲取數據: 誰訂購了產品,并且他們訂購了什么產品?SELECT P ersons.LastName, P ersons.FirstName, Orders.OrderNoFROM P ersons, OrdersWHERE Persons.Id P = Orders.ld PSQL JOIN -使用 Join結果集:LastNameFirs
50、tNameOrderNoAdamsJohn22456AdamsJohn24562CarterThomas77895CarterThomas44678除了上面的方法,我們也可以使用關鍵詞JOIN來從兩個表中獲取數據。如果我們希望列出所有人的定購,可以使用下面的SELECT 語句:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM P ersonsINNER JOIN OrdersON Persons.Id P = Orders.ld PORDER BY P ersons.LastName結果集:LastNameFirstN
51、ameOrderNoAdamsJohn22456AdamsJohn24562CarterThomas77895CarterThomas44678不同的SQL JOIN除了我們在上面的例子中使用的INNER JOIN (內連接),我們還可以使用其他幾種連接。下面列出了您可以使用的JOIN類型,以及它們之間的差異。JOIN:如果表中有至少一個匹配,則返回行LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行FULL JOIN:只要其中一個表中存在匹配,就返回行SQL INNER JOIN關鍵字在表中存在至少一個匹配時,INNER JOIN 關鍵字返回行。INNER JOIN 關鍵字語法SELECT column_name(s)FROM table name1INNER JOIN table name2ON table name1.column name=table name2.column name注釋:INNER JOIN 與JOIN是相同的。原始的表(用在例子中的):"P ersons"表:ld_PLastNameFirstNameA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【課件】第三單元物質構成的奧秘單元總結提升-2024-2025學年九年級化學人教版(2024)上冊
- 健康促進課件下載
- 2025遼寧傳媒學院輔導員考試試題及答案
- 2025菏澤學院輔導員考試試題及答案
- 2025福建電力職業技術學院輔導員考試試題及答案
- 風濕性疾病實驗室檢測
- 酒店安全與急救
- 機器人學導論 課件 第三章-3.3節-牛頓歐拉法
- 昏迷患者的急救處理
- 甘肅張掖超越發展農業有限公司招聘筆試題庫2025
- 養老院老人入(出)院流程圖
- 健康照護教材課件匯總完整版ppt全套課件最全教學教程整本書電子教案全書教案課件合集
- 《一滴水經過麗江》的課件
- 最新-臨時救助申請審核審批表模板
- 《有效溝通》PPT課件-(2)
- 三級醫院服務能力指南2022
- 家庭室內裝飾裝修工程驗收單
- 青春紅綠燈教學設計中小學心理健康心理游戲腳本
- 《城鎮土地使用稅納稅申報表》
- 三年級數學下冊口算脫式豎式練習題
- 電梯困人救援流程圖
評論
0/150
提交評論