SQL Server(高) 關(guān)鍵字的使用
2015/1/23 14:22:07 獨(dú)占網(wǎng)絡(luò) 網(wǎng)站建設(shè)知識(shí)
1,select 的使用(select 結(jié)果集)
SELECT 列名稱 FROM 表名稱
以及: (*)是選取所有列的快捷方式。
SELECT * FROM 表名稱
2,Distinct 的使用(Distinct 返回值)
SELECT DISTINCT 列名稱 FROM 表名稱
3,Where 的使用(Where 條件選取)
SELECT 列名稱 FROM 表名稱 WHERE 列 運(yùn)算符 值 (<, >, =, !=) 運(yùn)算符
4,And 和 or 運(yùn)算符 的使用(And二者都成立 和 or 二者有一者成立 即可)
AND 和 OR 可在 where 子語(yǔ)句中把兩個(gè)或多個(gè)條件結(jié)合起來(lái)。
如果個(gè)條件和第二個(gè)條件都成立,則 AND 運(yùn)算符顯示一條記錄。
如果個(gè)條件和第二個(gè)條件中只要有一個(gè)成立,則 OR 運(yùn)算符顯示一條記錄。
and SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'
or SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
5,Order By的使用(Order By 對(duì)結(jié)果集進(jìn)行排序) (DESC:從大到小排序. ASC:從小到大)
Order By 語(yǔ)句用于根據(jù)指定的列對(duì)結(jié)果集進(jìn)行排序。
select Company, OrderNumber from Orders order by Company
select Company, OrderNumber from Orders order by Company desc
select Company, OrderNumber FROM Orders OrderNumber asc
6,Insert into的使用(Insert into插入新的數(shù)據(jù) 行)
Insert into 表名稱 Values (值, 值,....)
或:
insert into table_name (列, 列,...) values (值, 值,....)
7,Update 的使用 (Update 修改表中的數(shù)據(jù))
Update 表名稱 SET 列名稱 = 新值 where 列名稱 = 某值
8,Delete 的使用(Delete刪除表中的行)
Delete 語(yǔ)句用于刪除表中的行。
delete from 表名稱 where 列名稱 = 值 --刪除指定行
或:
delete from table_name --刪除所有行
8,Top 的使用(Top子句返回記錄的數(shù)目)
復(fù)制代碼
select top number|percent column_name(s)
from table_name
或
SELECT TOP 2 * FROM Persons
例子:
select top 5 * from YK_TYPK -- 只查前5列數(shù)據(jù)
select top 1 percent * from YK_TYPK -- 1%是數(shù)據(jù)
復(fù)制代碼
9,link 的使用 (link全文搜索)
select * from Article where ArticleContent link '%獨(dú)占%'
或
select * from Persons where City like 'N%'
備注: 通配符必須與 like 運(yùn)算符一起使用。
10,In 的使用(In 在where后使用后可取多個(gè)值)
IN 操作符允許我們?cè)?WHERE 子句中規(guī)定多個(gè)值。
SELECT * FROM Persons WHERE LastName IN (value1,value2,...)
11,Between 的使用(Between 的 取值范圍 )
1, Between 操作符在 where 子句中使用,作用是選取介于兩個(gè)值之間的數(shù)據(jù)范圍。
2,操作符 Between ... and 會(huì)選取介于兩個(gè)值之間的數(shù)據(jù)范圍。這些值可以是數(shù)值、文本或者日期。
SELECT * FROM Persons
WHERE LastName
BETWEEN 'Adams' AND 'Carter'
12,As 的全稱:(Alias) 的使用 (As 的指定別名 )
通過(guò)使用 SQL,可以為列名稱和表名稱指定別名(Alias)。
SELECT LastName AS Family, FirstName AS Name
FROM Persons
13, Join / left join / right join / full join 的都在from后面使用
JOIN: 如果表中有至少一個(gè)匹配,則返回行
LEFT JOIN: 即使右表中沒(méi)有匹配,也從左表返回所有的行
RIGHT JOIN: 即使左表中沒(méi)有匹配,也從右表返回所有的行
FULL JOIN: 只要其中一個(gè)表中存在匹配,就返回行
13.1, Join= inner join的使用(Join 內(nèi)連接)
復(fù)制代碼
join 用于根據(jù)兩個(gè)或多個(gè)表中的列之間的關(guān)系,從這些表中查詢數(shù)據(jù)。
有時(shí)為了得到完整的結(jié)果,我們需要從兩個(gè)或更多的表中獲取結(jié)果。我們就需要執(zhí)行 join。
兩張表的關(guān)聯(lián), 不用 inner join 和 使用inner join 的對(duì)比.
--- 不使用:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P
--- 使用 inner join :
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName
復(fù)制代碼
14, Left Join 的使用(Left Join 左連接)
復(fù)制代碼
LEFT JOIN 關(guān)鍵字會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒(méi)有匹配的行。
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
備注:LEFT JOIN 關(guān)鍵字會(huì)從左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中沒(méi)有匹配的行。
復(fù)制代碼
15, Right Join 的使用(Right Join 右連接)
復(fù)制代碼
RIGHT JOIN 關(guān)鍵字會(huì)右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒(méi)有匹配的行。
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
備注:RIGHT JOIN 關(guān)鍵字會(huì)從右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中沒(méi)有匹配的行。
復(fù)制代碼
16, Full Join 的使用(Full Join 的)
復(fù)制代碼
只要其中某個(gè)表存在匹配,F(xiàn)ULL JOIN 關(guān)鍵字就會(huì)返回行。
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
備注:FULL JOIN 關(guān)鍵字會(huì)從左表 (Persons) 和右表 (Orders) 那里返回所有的行。
如果 "Persons" 中的行在表 "Orders" 中沒(méi)有匹配,或者如果 "Orders" 中的行在表 "Persons" 中沒(méi)有匹配,這些行同樣會(huì)列出。
復(fù)制代碼
17, Union 和 Union All 的使用(Union 合并select查詢)
復(fù)制代碼
UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語(yǔ)句的結(jié)果集。
備注:UNION 內(nèi)部的 SELECT 語(yǔ)句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時(shí),每條 SELECT 語(yǔ)句中的列的順序必須相同。
使用Union
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注釋:默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,請(qǐng)使用 UNION ALL。
使用Union All
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
另外:UNION 結(jié)果集中的列名總是等于 UNION 中個(gè) SELECT 語(yǔ)句中的列名。
復(fù)制代碼
18, Select Into 的使用()
SELECT INTO 語(yǔ)句從一個(gè)表中選取數(shù)據(jù),然后把數(shù)據(jù)插入另一個(gè)表中。
SELECT INTO 語(yǔ)句常用于創(chuàng)建表的備份復(fù)件或者用于對(duì)記錄進(jìn)行存檔。
19, Create 的使用(Create Database創(chuàng)建數(shù)據(jù)庫(kù))
20, Create Table 的使用(Create Table 創(chuàng)建數(shù)據(jù)庫(kù)中的表)
21, SQL 約束 的使用(約束 在建表列名是 給的約束)
22, Create inder的使用(Create inder 索引)
23, Drop的使用(Drop刪除索引)
25, Alter table的使用(Alter table 添加,修改,刪除 列)
26, Null的使用(Null的)
27,Is null的使用(Is null取某列的空值)
27.1,Is not null的使用(Is not null取某列不是空值的)