sql查詢總結


1.SQL select 語句

 

  SELECT 語句用於從表中選取數據。

 

  結果被存儲在一個結果表中(稱為結果集)。

SELECT 列名稱 FROM 表名稱

  實例:

SELECT username,password FROM user

  或者:

SELECT * FROM user

 

2.SQL SELECT DISTINCT 語句

  在表中,可能會包含重復值。這並不成問題,不過,有時您也許希望僅僅列出不同(distinct)的值。

   關鍵詞 DISTINCT 用於返回唯一不同的值。

SELECT DISTINCT 列名稱 FROM 表名稱

  實例:從order表中查詢所有的Company,僅選取唯一不同的值

SELECT DISTINCT Company FROM Orders 

 

3.SQL WHERE 條件語句

  WHERE 語句用於規定選擇的標准。

 

SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值

 

  where運算符條件:

操作符 描述
= 等於
<> 不等於
> 大於
< 小於
>= 大於等於
<= 小於等於
BETWEEN 在某個范圍內
LIKE 搜索某種模式

  例:

SELECT * FROM Persons WHERE id=1

 

4.SQL AND & OR 運算符

 

   AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。

 

  AND表示:如果第一個條件和第二個條件都成立,則 AND 運算符顯示一條記錄。

 

  OR表示:如果第一個條件和第二個條件中只要有一個成立,則 OR 運算符顯示一條記錄。

  AND實例:

SELECT * FROM Persons WHERE FirstName='T' AND LastName='C'

  OR實例:

SELECT * FROM Persons WHERE firstname='T' OR lastname='C'

  AND和OR聯合使用

SELECT * FROM Persons WHERE (FirstName='T' OR FirstName='W')
AND LastName='C'

 

5.SQL ORDER BY 語句

  ORDER BY 語句用於對結果集進行排序。

  ORDER BY 語句用於根據指定的列對結果集進行排序。

 

  ORDER BY 語句默認按照升序對記錄進行排序。

  例:

SELECT Company, OrderNumber FROM Orders ORDER BY id

  例:

SELECT Company, OrderNumber FROM Orders ORDER BY id DESC

 

6.SQL INSERT INTO 語句

  INSERT INTO 語句用於向表格中插入新的行。

  語法:

INSERT INTO 表名稱 VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

 

7.SQL UPDATE 語句

  Update 語句用於修改表中的數據。

  語法:

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

  例:

UPDATE Person SET FirstName = 'F' WHERE LastName = 'W' 

 

8.SQL DELETE 語句

  DELETE 語句用於刪除表中的行。

  語法:

 

DELETE FROM 表名稱 WHERE 列名稱 =

 

  例:

DELETE FROM Person WHERE LastName = 'W' 

 

9.SQL TOP 子句

  TOP 子句用於規定要返回的記錄的數目。

  對於擁有數千條記錄的大型表來說,TOP 子句是非常有用的。

  例:

 

SELECT TOP number|percent column_name(s) FROM table_name

 

   例:從persons表中,查詢前兩條數據

SELECT TOP 2 * FROM Persons

 

10.SQL LIKE 操作符

  LIKE 操作符用於在 WHERE 子句中搜索列中的指定模式。

  LIKE 操作符語法:

SELECT column_name(s)  FROM table_name  WHERE column_name LIKE pattern

  例:

SELECT * FROM Persons WHERE City LIKE '%lon%'

  例:NOT LIKE

SELECT * FROM Persons WHERE City NOT LIKE '%lon%'

 

11.SQL 通配符  

  在搜索數據庫中的數據時,SQL 通配符可以替代一個或多個字符。

 

  SQL 通配符必須與 LIKE 運算符一起使用。

通配符 描述
% 替代一個或多個字符
_ 僅替代一個字符
[charlist] 字符列中的任何單一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何單一字符

   例:使用 % 通配符

SELECT * FROM Persons WHERE City LIKE '%lond%'

 

  例:使用 _ 通配符: 從表中選取名字的第一個字符之后是 "eorge" 的人:

SELECT * FROM Persons WHERE FirstName LIKE '_eorge'

 

  例:使用 [charlist] 通配符: 從表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人:

SELECT * FROM Persons WHERE City LIKE '[ALN]%'

  

  例:從表中選取居住的城市不以 "A" 或 "L" 或 "N" 開頭的人:

SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

 

 

12.SQL IN 操作符

  IN 操作符允許我們在 WHERE 子句中規定多個值。

  IN語法:

 

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)

 

  實例:從表中選取姓氏為 Adams 和 Carter 的人:

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

 

13.SQL BETWEEN 操作符

  操作符 BETWEEN ... AND 會選取介於兩個值之間的數據范圍。這些值可以是數值、文本或者日期

  語法:

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2

  實例: BETWEEN ... AND 

SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

  實例:NOT  BETWEEN ... AND 

SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'

 

14.SQL Alias(別名)

   表的 SQL Alias 語法:

SELECT column_name(s) FROM table_name AS alias_name

    列的 SQL Alias 語法:

SELECT column_name AS alias_name FROM table_name

    實例: 使用表名稱別名

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

 

15.SQL JOIN

  SQL join 用於根據兩個或多個表中的列之間的關系,從這些表中查詢數據。

  用法:

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

 

16.SQL INNER JOIN 關鍵字

   在表中存在至少一個匹配時,INNER JOIN 關鍵字返回行

  語法:

 

SELECT column_name(s) FROM table_name1 INNER JOIN table_name2  ON table_name1.column_name=table_name2.column_name

 

   INNER JOIN 與 JOIN 是相同的。

 

17.SQL LEFT JOIN 關鍵字

  LEFT JOIN 關鍵字會從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。

  語法:

 

SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

 

 

 

 

 18.SQL RIGHT JOIN 關鍵字

  RIGHT JOIN 關鍵字會右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒有匹配的行。

  語法:

 

SELECT 字段 FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name

 

 

19.SQL FULL JOIN 關鍵字

  只要其中某個表存在匹配,FULL JOIN 關鍵字就會返回行。

  語法:

 

SELECT column_name(s) FROM table_name1 FULL JOIN table_name2  ON table_name1.column_name=table_name2.column_name

 

 

20.SQL UNION 和 UNION ALL 操作符

  SQL UNION 操作符:UNION 操作符用於合並兩個或多個 SELECT 語句的結果集。(UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。)

  語法:(默認地,UNION 操作符選取不同的值。如果允許重復的值,請使用 UNION ALL。)

SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2

  UNION ALL 語法:(UNION 結果集中的列名總是等於 UNION 中第一個 SELECT 語句中的列名)

SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2

 

21.SQL SELECT INTO 語句 

  SELECT INTO 語句從一個表中選取數據,然后把數據插入另一個表中。

  SELECT INTO 語句常用於創建表的備份復件或者用於對記錄進行存檔。

  語法:

  把所有的列插入新表:

SELECT * INTO new_table_name [IN externaldatabase]  FROM old_tablename

  只把希望的列插入新表:

SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename

  SELECT INTO 實例 - 制作備份復件:

SELECT *INTO Persons_backup FROM Persons

  IN 子句可用於向另一個數據庫中拷貝表:

SELECT *INTO Persons IN 'Backup.mdb' FROM Persons

 

22.SQL CREATE DATABASE 語句

  CREATE DATABASE 用於創建數據庫。

  語法:

 

CREATE DATABASE database_name

 

 

23.SQL CREATE TABLE 語句

  CREATE TABLE 語句用於創建數據庫中的表。

  語法:

CREATE TABLE 表名稱
(
列名稱1 數據類型,
列名稱2 數據類型,
列名稱3 數據類型,
....
)

 

24.SQL 約束 (Constraints)

  約束用於限制加入表的數據的類型。

  可以在創建表時規定約束(通過 CREATE TABLE 語句),或者在表創建之后也可以(通過 ALTER TABLE 語句)。

 

  24.1 NOT NULL 約束

    NOT NULL 約束強制列不接受 NULL 值。

 

   NOT NULL 約束強制字段始終包含值。這意味着,如果不向字段添加值,就無法插入新記錄或者更新記錄。

   實例:強制 "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)
)

 

 

  24.2 UNIQUE 約束

    UNIQUE 約束唯一標識數據庫表中的每條記錄。

 

    UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。

 

    PRIMARY KEY 擁有自動定義的 UNIQUE 約束。

    實例:創建表時在 "Id_P" 列創建 UNIQUE 約束:

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

 

 

  24.3 PRIMARY KEY 約束 

    PRIMARY KEY 約束唯一標識數據庫表中的每條記錄。

 

    主鍵必須包含唯一的值。

 

    主鍵列不能包含 NULL 值。

 

    每個表都應該有一個主鍵,並且每個表只能有一個主鍵。

    實例:

 

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

 

    一般都是對id這種字段添加PRIMARY KEY主鍵索引,可以再查詢時加快查詢速度;

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM