首頁 資料庫 mysql教程 SQL資料運算基礎(初級)2

SQL資料運算基礎(初級)2

Dec 17, 2016 pm 02:28 PM

使用ISQL執行SELECT查詢

當你安裝SQL Sever時,你同時安裝了一個叫作ISQL/w的應用程式。 ISQL/w允許你執行互動的SQL查詢。在把查詢包含到你的asp網頁之前,用ISQL/w對其進行測試是非常有用的。

注意:

在這本書的第一部分,你學習了怎麼安裝和配置Microsoft SQL Sever 。如果沒有安裝SQL Sever或SQL Sever不能運行,請參考第三章「安裝和使用SQL Sever」。

選擇任務上SQL Sever程式組中的ISQL_w以啟動該程式。程式啟動時,首先會出現一個對話框,要求輸入伺服器資訊和登入資訊(見圖10.1)。在Sever框中,輸入你的SQL伺服器的名字。如果伺服器正運行在本機上,伺服器名字就是你電腦的名字。
在登入資訊框中,輸入一個登入帳號和密碼或選擇使用“可信任連接”,然後按一下Connect按鈕。

圖10。1

 

 

注意:

如果你將SQL Sever配置為使用完整安全或混合安全,那麼你可以使用可信任連線。如果你使用標準安全,你則需要提供使用者帳號和
密碼。要了解更多信息,請參閱第三章。

如果一切正常,在你點擊連線按鈕後會出現一個查詢窗口,如圖10.2所示。 (如果有異常,請參考第三章)

 

圖10.2

 

在執行查詢之前,你需要選擇資料庫。安裝 SQL Sever時你已經為自己建立了一個資料庫,SQL Sever還有許多系統資料庫,如master,model,msdb,和tempdb。

方便的是,SQL Sever附帶一個特別的名為pubs的範例資料庫。庫 pubs中包含供一個虛擬的出版商使用的各個表。文件中所有的例子程式都是針對這個庫來設計的。本書中的許多例子也使用這個資料庫。

在查詢視窗頂部的DB下拉框中選擇資料庫pubs,這樣你就選擇了資料庫。你所有的查詢都將針對這個庫中的各個表來執行。現在你可以執行你的第一個查詢了。這真讓人興奮!

你的第一個查詢將針對一個名為autrors的表,表中包含所有為某個虛擬出版商工作的作者的相關資料。點選查詢視窗並輸入以下的語句:

SELECT phone FROM authors WHERE au_name="Ringer"

輸入完成後,點選執行查詢按鈕(一個綠色三角形,看起來像VCR播放鍵)。點選此按鈕後,任何出現在查詢視窗中的語句都會被執
行。查詢視窗會自動變成結果顯示窗口,你可以看到查詢的結果(見圖10.3)。

你看到的查詢結果也許與圖10.3所示的不同。在SQL Sever的不同版本中,庫pubs中的數據會有所不同。對SQL Sever 6.5來說,
將會找到兩筆記錄。結果顯示視窗中應顯示下列內容:

phone

……………….

801 826_0752

801 826_0752

(2 row(s) affected)

圖10.3

 

 

你所執行的SELECT語句從表authors中取出所有名字為Ringer的作者的電話號碼。你透過在WHERE子句中使用特殊的選擇條件來限
制查詢的結果。你也可以忽略選擇條件,從表格中取出所有作者的電話號碼。要做到這一點,請按一下Query標籤,返回查詢窗口,輸
入以下的SELECT語句:

SELECT Phone FROM authors

這個查詢執行後,會取出表格authors中的所有電話號碼(沒有特定的順序)。如果表authors中包含一百個電話號碼,會有一百個記
錄被取出,如果表中有十億個電話號碼,這十億筆記錄都會被取出(這也許需要一些時間)。

表authrs的欄位包括姓,名字,電話號碼,地址,城市,州和郵遞區號。透過在SELECT語句的第一部分指定它們,你可以從表格中取
出任何一個欄位。你可以在一個SELECT語句中一次取出多個字段,例如:

SELECT au_fname ,au_lname, phone FROM authors

這個SELECT語句執行後,將取出這三個欄位的所有值。以下是這個查詢的結果的一個範例(為了節省紙張,只顯示查詢結果的一部
分,其餘記錄用省略號代替):

au_fname au_lname phone

………………………………………………………………………….

Johnson White 408 496_7223

Marjorie Green 415 986_7020

Cheryl Carson 415 548_7723

Michael O’Leary 408 286_2428



(23 row(s) affected)

在SELECT語句中,你需要列出多少個字段,你就可以列出多少。不要忘了把字段名用逗號隔開。你也可以用星號(*)從一個表格中
取出所有的欄位。這裡有一個使用星號的範例:

SELECT * FROM authors

這個SELECT語句執行後,表格中的所有欄位的值都被取出。你會發現你將在SQL查詢中經常使用星號。

技巧:

你可以使用星號來查看一個表格的所有欄位的名字。要做到這一點,只需要在執行完SELECT語句後看一下查詢結果的列標題。

操作多個表

到現在為止,你只嘗試了用一句SQL查詢從一個表中取出資料。你也可以用一個SELECT語句同時從多個表中取出數據,只需在
SELECT語句的FROM從句中列出要從中取出數據的表名稱即可:

SELECT au_lname ,title FROM authors, titles

這個SELECT語句執行時,同時從表authors和表titles中取出資料。從表authors中取出所有的作者名字,從表titles中取出所有
的書名。在ISQL/w程式中執行這個查詢,看看查詢結果。你會發現一些奇怪的出乎意料的情況:作者的名字並沒有和它們所寫的
書相匹配,而是出現了作者名字和書名的所有可能的組合,這也許不是你所希望見到的。

出了什麼差錯?問題在於你沒有指明這兩個表之間的關係。你沒有用任何方式告訴SQL如何把表格和表格關聯在一起。由於不知道如何
關聯兩個表,伺服器只能簡單地傳回取自兩個表中的記錄的所有可能組合。

要從兩個表中選出有意義的記錄組合,你需要透過建立兩個表中欄位的關係來關聯兩個表。要做到這一點的途徑之一是建立第三個
表,專門用來描述另外兩個表的欄位之間的關係。

表authors有一個名為au_id的字段,包含有每個作者的唯一標識。表titles有一個名為title_id的字段,包含每個書名的唯一標
識。如果你能在字段au_id和字段title_id 之間建立一個關係,你就可以關聯這兩個表。資料庫pubs中有一個名為titleauthor的
表,正是用來完成這個工作。表中的每個記錄包括兩個字段,用來把表titles和表authors關聯在一起。下面的SELECT語句使用了
這三個表以獲得正確的結果:

SELECT au_name,title FROM authors,titles,titleauthor

WHERE authors.au_id=titleauthor.au_id

AND titles.title_id=titleauthor.title_id

當這個SELECT語句執行時,每個作者都會與正確的書名相符。表titleauthor指明了表authors和表titles的關係,它透過包含
分別來自兩個表的各一個字段來實現這一點。第三個表的唯一目的是在另外兩個表格的欄位之間建立關係。它本身不包含任何附加數
據。

注意在這個例子中字段名是如何書寫的。為了區別表authors和表titles中相同的欄位名稱au_id,每個欄位名稱前面都加上了表名前
綴和一個句號。名為author.au_id 的欄位屬於表authors,名為titleauthor.au_id的欄位屬於表titleauthor,兩者不會混


透過使用第三個表,你可以在兩個表的欄位之間建立各種類型的關係。例如,一個作者也許寫了許多不同的書,或者一本書也許由
許多不同的作者共同完成。當兩個表格的欄位之間有這種「多對多」的關係時,你需要使用第三個表格來指明這種關係。

但是,在許多情況下,兩個表之間的關係並不復雜。例如你需要指明表titles和表publishers之間的關係。因為一個書名不可能與
多個出版商相匹配,你不需要透過第三個表來指明這兩個表之間的關係。要指明表titles和表publishers之間的關係,你只要讓這
兩個表有一個公共的字段就可以了。在資料庫pubs中,表titles和表格publishers都有一個名為pub_id的欄位。如果你想得到書名
及其出版商的一個列表,你可以使用如下的語句:

SELECT title,pub_name FROM titles,publishers

WHERE titles.pub_id=publishers.pub_id

當然,如果一本書是由兩個出版商共同出版的,那麼你需要第三個表來代表這種關係。

通常,當你予先知道兩個表的字段間存在「多對多」關係時,就使用第三個表來關聯這兩個表。反之,如果兩個表的字段間只有“一對一”或“一對多”關係,你可以使用公共字段來關聯它門。

 以上就是SQL資料操作基礎(初級)2的內容,更多相關文章請關注PHP中文網(www.php.cn)! 


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1669
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
Hibernate 框架中 HQL 和 SQL 的差異是什麼? Hibernate 框架中 HQL 和 SQL 的差異是什麼? Apr 17, 2024 pm 02:57 PM

HQL和SQL在Hibernate框架中進行比較:HQL(1.物件導向語法,2.資料庫無關的查詢,3.類型安全),而SQL直接操作資料庫(1.與資料庫無關的標準,2.可執行複雜查詢和資料操作)。

Oracle SQL中除法運算的用法 Oracle SQL中除法運算的用法 Mar 10, 2024 pm 03:06 PM

《OracleSQL中除法運算的用法》在OracleSQL中,除法運算是常見的數學運算之一。在資料查詢和處理過程中,除法運算可以幫助我們計算欄位之間的比例或得出特定數值的邏輯關係。本文將介紹OracleSQL中除法運算的用法,並提供具體的程式碼範例。一、OracleSQL中除法運算的兩種方式在OracleSQL中,除法運算可以用兩種不同的方式來進行

Oracle與DB2的SQL語法比較與區別 Oracle與DB2的SQL語法比較與區別 Mar 11, 2024 pm 12:09 PM

Oracle和DB2是兩個常用的關聯式資料庫管理系統,它們都有自己獨特的SQL語法和特性。本文將針對Oracle和DB2的SQL語法進行比較與區別,並提供具體的程式碼範例。資料庫連接在Oracle中,使用以下語句連接資料庫:CONNECTusername/password@database而在DB2中,連接資料庫的語句如下:CONNECTTOdataba

詳解MyBatis動態SQL標籤中的Set標籤功能 詳解MyBatis動態SQL標籤中的Set標籤功能 Feb 26, 2024 pm 07:48 PM

MyBatis動態SQL標籤解讀:Set標籤用法詳解MyBatis是一個優秀的持久層框架,它提供了豐富的動態SQL標籤,可以靈活地建構資料庫操作語句。其中,Set標籤是用來產生UPDATE語句中SET子句的標籤,在更新作業中非常常用。本文將詳細解讀MyBatis中Set標籤的用法,以及透過具體的程式碼範例來示範其功能。什麼是Set標籤Set標籤用於MyBati

SQL中的identity屬性是什麼意思? SQL中的identity屬性是什麼意思? Feb 19, 2024 am 11:24 AM

SQL中的Identity是什麼,需要具體程式碼範例在SQL中,Identity是一種用於產生自增數字的特殊資料類型,它常用於唯一識別表中的每一行資料。 Identity欄位通常與主鍵列搭配使用,可確保每筆記錄都有獨一無二的識別碼。本文將詳細介紹Identity的使用方式以及一些實際的程式碼範例。 Identity的基本使用方式在建立表格時,可以使用Identit

如何使用 PHP 實作批次處理和資料批次操作 如何使用 PHP 實作批次處理和資料批次操作 Sep 06, 2023 am 10:46 AM

如何使用PHP實現批次處理和資料批量操作在開發Web應用程式過程中,經常會遇到需要同時處理多個資料的情況。為了提高效率和減少資料庫請求的次數,我們可以使用PHP來實現批次處理和資料批量操作。本文將介紹如何使用PHP來實現這些功能,並附加程式碼範例以供參考。批次處理資料當需要對大量資料進行相同的操作時,可以使用PHP的循環結構來進行批次處理。

SQL出現5120錯誤怎麼解決 SQL出現5120錯誤怎麼解決 Mar 06, 2024 pm 04:33 PM

解決方法:1、檢查登入使用者是否具有足夠的權限來存取或操作該資料庫,確保該使用者俱有正確的權限;2、檢查SQL Server服務的帳戶是否具有存取指定檔案或資料夾的權限,確保該帳戶具有足夠的權限來讀取和寫入該文件或資料夾;3、檢查指定的資料庫文件是否已被其他進程打開或鎖定,嘗試關閉或釋放該文件,並重新運行查詢;4、嘗試以管理員身份運行Management Studio等等。

如何使用SQL語句在MySQL中進行資料聚合和統計? 如何使用SQL語句在MySQL中進行資料聚合和統計? Dec 17, 2023 am 08:41 AM

如何使用SQL語句在MySQL中進行資料聚合和統計?在進行資料分析和統計時,資料聚合和統計是非常重要的步驟。 MySQL作為一個功能強大的關聯式資料庫管理系統,提供了豐富的聚合和統計函數,可以很方便地進行資料聚合和統計操作。本文將介紹使用SQL語句在MySQL中進行資料聚合和統計的方法,並提供具體的程式碼範例。一、使用COUNT函數進行計數COUNT函數是最常用

See all articles