SQL教程
關係模型
id class_id name gender score
1 1 小明 M 90
2 1 小紅 F 95
對於關係表,有個很重要的約束,就是任意兩條記錄不能重複。不能重複不是指兩條記錄不完全相同,而是指能夠通過某個欄位唯一區分出不同的記錄,這個欄位被稱為主鍵。
當我們用主鍵唯一標識記錄時,我們就可以在students表中確定任意一個學生的記錄:
id name other columns...
1 小明 ...
2 小紅 ...
由於一個班級可以有多個學生,在關係模型中,這兩個表的關係可以稱為“一對多”,即一個classes的記錄可以對應多個students表的記錄。
id class_id name other columns...
1 1 小明 ...
2 1 小紅 ...
5 2 小白 ...
在students表中,通過class_id的欄位,可以把資料與另一張表關聯起來,這種列稱為外來鍵。
索引是關聯式資料庫中對某一列或多個列的值進行預排序的資料結構。通過使用索引,可以讓資料庫系統不必掃描整個表,而是直接定位到符合條件的記錄,這樣就大大加快了查詢速度。
查詢資料
基本查詢
使用SELECT * FROM students時,SELECT是關鍵字,表示將要執行一個查詢,*表示“所有列”,FROM表示將要從哪個表查詢
該SQL將查詢出students表的所有資料。注意:查詢結果也是一個二維表,它包含列名和每一行的資料
條件查詢
SELECT語句可以通過WHERE條件來設定查詢條件,查詢結果是滿足查詢條件的記錄。例如,要指定條件“分數在80分或以上的學生”,寫成WHERE條件就是SELECT * FROM students WHERE score >= 80。
其中,WHERE關鍵字後面的score >= 80就是條件。score是列名,該列儲存了學生的成績,因此,score >= 80就篩選出了指定條件的記錄
SELECT * FROM <表名> WHERE <條件表示式>
投影查詢
如果我們只希望返回某些列的資料,而不是所有列的資料,我們可以用SELECT 列1, 列2, 列3 FROM …,讓結果集僅包含指定列。這種操作稱為投影查詢。
students表中返回id、score和name這三列:
SELECT id, score, name FROM students;
使用SELECT 列1, 列2, 列3 FROM …時,還可以給每一列起個別名,這樣,結果集的列名就可以與原表的列名不同。它的語法是SELECT 列1 別名1, 列2 別名2, 列3 別名3 FROM …。
例如,以下SELECT語句將列名score重新命名為points,而id和name列名保持不變:
SELECT id, score points, name FROM students;
投影查詢同樣可以接WHERE條件,實現複雜的查詢:
SELECT id, score points, name FROM students WHERE gender = ‘M’;
(待補充)
相關文章
- SQL Server教程SQLServer
- SQL教程——庫的管理SQL
- SQL教程——表的管理SQL
- Spark SQL 教程: 通過示例瞭解 Spark SQLSparkSQL
- Spark SQL 教程: 透過示例瞭解 Spark SQLSparkSQL
- SQL入門-進階教程SQL
- 《SQL基礎教程》筆記(3)SQL筆記
- MyBatis 動態 SQL 最全教程,這樣寫 SQL 太優雅了!MyBatisSQL
- LangChain SQL介紹以及使用Qwen1.5執行SQL查詢教程LangChainSQL
- SQL教程——常見的約束型別SQL型別
- SQL教程——常見的資料型別SQL資料型別
- 教程:Apache Spark SQL入門及實踐指南!ApacheSparkSQL
- (一)《SQL進階教程》學習記錄--CASESQL
- XamarinSQLite教程下載安裝SQLite/SQL Server Compact ToolboxSQLiteServer
- 《MSSQL2008高階教程》之四“SQL優化”SQL優化
- (二)《SQL進階教程》學習記錄--GROUP BY、PARTITION BYSQL
- C#快速入門教程(27)—— SQL Server資料庫C#SQLServer資料庫
- DbForge Studio for SQL Server入門教程:如何編輯資料SQLServer
- 10、Entity Framework Core 3.1入門教程-執行原生SQLFrameworkSQL
- 好程式設計師Java教程:SQL語言之檢視程式設計師JavaSQL
- 【Python入門教程】SQL和Python有什麼區別?PythonSQL
- 【超詳細】SQL Server2012 Express版本安裝教程SQLServerExpress
- TDengine 如何進行 SQL 寫入?官方最全教程來了SQL
- SQL Prompt教程:舊式聯接語法(ST001)SQL
- 【Oracle】常用工具-oracle sql developer快速安裝使用教程OracleSQLDeveloper
- sql教程中一些知識的實際擴充套件SQL套件
- dbForge Studio for SQL Server入門教程:如何建立和編輯查詢SQLServer
- dbForge Studio for SQL Server入門教程:如何連線到資料庫SQLServer資料庫
- DbForge Studio for SQL Server入門教程:如何從不同模式傳輸表SQLServer模式
- win10安裝sql2005教程圖解_win10專業版怎麼安裝sql2005Win10SQL圖解
- 基於案例學SQL優化-全套視訊教程免費下載SQL優化
- Windows下SQL Serever2012徹底解除安裝刪除的教程WindowsSQL
- 詳解SQL Server 2012資料庫備份與還原的教程SQLServer資料庫
- DbForge Studio for SQL Server入門教程:在表編輯器中建立表SQLServer
- SQL Server正確刪除Windows認證使用者的方法教程SQLServerWindows
- RazorSQL(多功能SQL資料庫編輯器)下載安裝教程SQL資料庫
- 寫給運營同學和初學者的SQL入門教程SQL
- 【Python入門教程】五個常見的最佳化SQL的技巧!PythonSQL