搜尋
首頁資料庫SQL認識SQL 高階進階

認識SQL 高階進階

Dec 04, 2020 pm 05:05 PM
sql

sql教學欄位介紹10種高階進階

認識SQL 高階進階

推薦(免費):sql教學

sql進階
1、TOP子句
TOP 子句用於規定要傳回的記錄的數目。

SELECT TOP 2 * FROM Persons 
 SELECT TOP 50 PERCENT * FROM Persons

2、link尋找的模式
現在,我們希望從上面的「Persons」 表中選取居住在以「N」開始的城市裡的人:
我們可以使用下面的SELECT 語句:

SELECT * FROM Persons 
 WHERE City LIKE ‘N%’

提示:”%” 可用來定義通配符(模式中缺少的字母)
透過使用NOT 關鍵字,我們可以從在「Persons」 表中選取居住在不包含「lon」的城市裡的人:
我們可以使用下面的SELECT 語句:

SELECT * FROM Persons 
 WHERE City NOT LIKE ‘%lon%’

3、通配符
認識SQL 高階進階
(1)透過使用NOT 關鍵字,我們可以從「Persons」 表中選取居住在不包含「lon」 的城市裡的人:
我們可以使用下面的SELECT 語句:

SELECT * FROM Persons 
 WHERE City NOT LIKE ‘%lon%’

(2)我們希望從上面的「Persons」 表中選取名字的第一個字元之後是「eorge」 的人:
我們可以使用下面的SELECT 語句:

SELECT * FROM Persons 
 WHERE FirstName LIKE ‘_eorge’

(3)我們希望從上面的「Persons」 表中選取居住的城市以「A」 或「L」 或「N」 開頭的人:
我們可以使用下面的SELECT 語句:

SELECT * FROM Persons 
 WHERE City LIKE ‘[ALN]%’ 
 不 SELECT * FROM Persons 
 WHERE City LIKE ‘[!ALN]%’

4、IN 運算子
IN 運算子允許我們在WHERE 子句中規定多個值。 IN 操作符實例
現在,我們希望從上表中選取姓氏為Adams 和Carter 的人:
我們可以使用下面的SELECT 語句:

SELECT * FROM Persons 
 WHERE LastName IN (‘Adams’,’Carter’)

#5、 BETWEEN 運算子
運算子BETWEEN … AND 會選取介於兩個值之間的資料範圍。這些值可以是數值、文字或日期
想要以字母順序顯示介於「Adams」(包括)和「Carter」(不包括)之間的人,請使用下面的SQL:

SELECT * FROM Persons 
 WHERE LastName 
 BETWEEN ‘Adams’ AND ‘Carter’

補集為No BETWEEN

6、透過使用SQL,可以為列名稱和表名稱指定別名(Alias)
假設我們有兩個表分別是:”Persons” 和“Product_Orders”。我們分別為它們指定別名 “p” 和 “po”。
現在,我們希望列出 “John Adams” 的所有定單。
我們可以使用下面的SELECT 語句:

SELECT po.OrderID, p.LastName, p.FirstName 
 FROM Persons 
AS
 p, Product_Orders 
AS
 po 
 WHERE p.LastName=’Adams’ AND p.FirstName=’John’

也可以為欄位使用別名

SELECT LastName AS Family, FirstName AS Name 
 FROM Persons

#7、join 和Key
有時為了得到完整的結果,我們需要從兩個或更多的表格中取得結果。我們就需要執行 join。
資料庫中的表格可透過鍵將彼此連結起來。主鍵(Primary Key)是一個列,在這個列中的每一行的值都是唯一的。
認識SQL 高階進階
認識SQL 高階進階
引用兩個表格
我們可以透過引用兩個表格的方式,從兩個表格中取得資料:
誰訂購了產品,並且他們訂購了什麼產品?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo 
 FROM Persons, Orders 
 WHERE Persons.Id_P = Orders.Id_P

下面的語句和上面的語句具有相同的效果
SQL JOIN - 使用Join
除了上面的方法,我們也可以使用關鍵字JOIN 來從兩個表中獲取數據。
如果我們希望列出所有人的訂購,可以使用下面的SELECT 語句:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo 
 FROM Persons 
INNER JOIN
 Orders 
 ON Persons.Id_P = Orders.Id_P 
 ORDER BY Persons.LastName

INNER JOIN 存在至少一個符合時傳回行 

注意

  • JOIN: 如果表中有至少一個匹配,則返回行 

  • LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行 

  • RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行

  • #FULL JOIN: 只要其中一個表中存在匹配,就返回行

8、SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
列出所有在中国和美国的不同的雇员名:

SELECT E_Name FROM Employees_China 
 UNION 
 SELECT E_Name FROM Employees_USA

union和union all的区别就是union all会把所有的结果都输出来,union会把相同的给去掉

9、CREATE DATABASE database_name
用于创建数据库

CREATE TABLE Persons 
 ( 
 Id_P int, 
 LastName varchar(255), 
 FirstName varchar(255), 
 Address varchar(255), 
 City varchar(255) 
 )

認識SQL 高階進階

10、sql约束
(1) 下面的 SQL 语句强制 “Id_P” 列和 “LastName” 列不接受 NULL 值:

CREATE TABLE Persons 
 ( 
 Id_P int NOT NULL, 
 LastName varchar(255) NOT NULL, 
 FirstName varchar(255), 
 Address varchar(255), 
 City varchar(255) 
 )

(2)SQL UNIQUE 约束 

  • UNIQUE 约束唯一标识数据库表中的每条记录。 

  • UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证 

  • PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 

请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
(3)SQL PRIMARY KEY 约束
PRIMARY KEY 约束唯一标识数据库表中的每条记录。 

  • 主键必须包含唯一的值。 

  • 主键列不能包含 NULL 值。
    每个表都应该有一个主键,并且每个表只能有一个主键。

想了解更多编程学习,敬请关注php培训栏目!

以上是認識SQL 高階進階的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
SQL:對數據管理的初學者友好方法?SQL:對數據管理的初學者友好方法?Apr 19, 2025 am 12:12 AM

SQL適合初學者,因為它語法簡單,功能強大,廣泛應用於數據庫系統。 1.SQL用於管理關係數據庫,通過表格組織數據。 2.基本操作包括創建、插入、查詢、更新和刪除數據。 3.高級用法如JOIN、子查詢和窗口函數增強數據分析能力。 4.常見錯誤包括語法、邏輯和性能問題,可通過檢查和優化解決。 5.性能優化建議包括使用索引、避免SELECT*、使用EXPLAIN分析查詢、規範化數據庫和提高代碼可讀性。

SQL在行動中:現實世界中的示例和用例SQL在行動中:現實世界中的示例和用例Apr 18, 2025 am 12:13 AM

SQL在實際應用中主要用於數據查詢與分析、數據整合與報告、數據清洗與預處理、高級用法與優化以及處理複雜查詢和避免常見錯誤。 1)數據查詢與分析可用於找出銷售量最高的產品;2)數據整合與報告通過JOIN操作生成客戶購買報告;3)數據清洗與預處理可刪除異常年齡記錄;4)高級用法與優化包括使用窗口函數和創建索引;5)處理複雜查詢可使用CTE和JOIN,避免常見錯誤如SQL注入。

SQL和MySQL:了解核心差異SQL和MySQL:了解核心差異Apr 17, 2025 am 12:03 AM

SQL是一種用於管理關係數據庫的標準語言,而MySQL是一個具體的數據庫管理系統。 SQL提供統一語法,適用於多種數據庫;MySQL輕量、開源,性能穩定但在大數據處理上有瓶頸。

SQL:初學者的學習曲線SQL:初學者的學習曲線Apr 16, 2025 am 12:11 AM

SQL學習曲線陡峭,但通過實踐和理解核心概念可掌握。 1.基礎操作包括SELECT、INSERT、UPDATE、DELETE。 2.查詢執行分為解析、優化、執行三步。 3.基本用法如查詢僱員信息,高級用法如使用JOIN連接表。 4.常見錯誤包括未使用別名和SQL注入,需使用參數化查詢防範。 5.性能優化通過選擇必要列和保持代碼可讀性實現。

SQL:命令,mysql:引擎SQL:命令,mysql:引擎Apr 15, 2025 am 12:04 AM

SQL命令在MySQL中分為DQL、DDL、DML、DCL和TCL五類,用於定義、操作和控制數據庫數據。 MySQL通過詞法分析、語法分析、優化和執行等階段處理SQL命令,並利用索引和查詢優化器提升性能。使用示例包括SELECT用於數據查詢,JOIN用於多表操作。常見錯誤有語法、邏輯和性能問題,優化策略包括使用索引、優化查詢和選擇合適的存儲引擎。

用於數據分析的SQL:商業智能的高級技術用於數據分析的SQL:商業智能的高級技術Apr 14, 2025 am 12:02 AM

SQL的高級查詢技巧包括子查詢、窗口函數、CTE和復雜JOIN,能夠處理複雜數據分析需求。 1)子查詢用於找出每個部門工資最高的員工。 2)窗口函數和CTE用於分析員工的薪資增長趨勢。 3)性能優化策略包括索引優化、查詢重寫和使用分區表。

MySQL:SQL的特定實現MySQL:SQL的特定實現Apr 13, 2025 am 12:02 AM

MySQL是開源的關係型數據庫管理系統,提供了標準SQL功能和擴展。 1)MySQL支持標準SQL操作如CREATE、INSERT、UPDATE、DELETE,並擴展了LIMIT子句。 2)它使用InnoDB和MyISAM等存儲引擎,適用於不同場景。 3)用戶可以通過創建表、插入數據和使用存儲過程等高級功能高效使用MySQL。

SQL:使所有人都可以訪問數據管理SQL:使所有人都可以訪問數據管理Apr 12, 2025 am 12:14 AM

sqlmakesdatamanagectAccessibletoAllbyProvidingAsimpleyetpoperfultoolSetSetForQuerquereingAndManagingDatabases.1)ItworkswithrelationalDatabases,允許inserstospecefifywhattheywanttododowithththedata.2)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境