如果只希望選住在 "Beijing" 的人,則向 SELECT 語(yǔ)句添加 WHERE 子句:
SELECT * FROM PersonsWHERE City='Beijing'
*星號(hào)表示選取所有列,persons是表,city是列,=是運(yùn)算符,Beijing是字符則需用單引號(hào),如是數(shù)值則不需要任何東西

AND and 和 OR or運(yùn)算符用于一個(gè)以上的條件,它們發(fā)揮對(duì)記錄進(jìn)行過(guò)濾的作業(yè)。
AND 和 OR 用在 WHERE 子句中,它們負(fù)責(zé)把兩個(gè)或多個(gè)條件結(jié)合起來(lái)。
如果第一個(gè)條件和第二個(gè)條件都成立,則 AND 運(yùn)算符顯示一條記錄。
如果第一個(gè)條件和第二個(gè)條件中只要有一個(gè)成立,則 OR 運(yùn)算符顯示一條記錄。
eg:使用 AND 來(lái)顯示所有姓為 "Carter" 且名為 "Thomas" 的人:
SELECT * FROM Persons WHERE FirstName='Thomas'ANDLastName='Carter'#此語(yǔ)句*星號(hào)表示選取所有列,persons是表,firstname是列,=是運(yùn)算符,Thomas是列firstname里的元素,and是運(yùn)算符,lastname是列,carter是列l(wèi)astname里的元素。select語(yǔ)句的順序是:select列名from表名where子句
也可以把 AND 和 OR 結(jié)合起來(lái)(使用圓括號(hào)來(lái)組成復(fù)雜的表達(dá)式):
SELECT * FROM Persons WHERE(FirstName='Thomas'ORFirstName='William')ANDLastName='Carter'#圓括號(hào)里是or運(yùn)算符,即或,兩個(gè)條件中的一個(gè)成立就可,后面是and運(yùn)算符,兩個(gè)條件都必須成立
ORDER BY 語(yǔ)句對(duì)結(jié)果集進(jìn)行排序。
ORDER BY 語(yǔ)句根據(jù)指定列對(duì)結(jié)果集進(jìn)行排序。
ORDER BY 語(yǔ)句默認(rèn)按升序?qū)τ涗涍M(jìn)行排序。
如需降序,則 DESC (descend)。如需升序,則ASC(ascend)。
以字母順序?qū)ompany列進(jìn)行排序:
SELECT Company, OrderNumber FROM OrdersORDER BY Company#company是列名,ordernumber是列名,orders是表,此語(yǔ)句依據(jù)company列按字母順序進(jìn)行排序。注意列名與列名之間用逗號(hào)分隔
以逆字母順序?qū)ompany列進(jìn)行排序:
SELECT Company, OrderNumber FROM OrdersORDER BY Company DESC#注意desc降序關(guān)鍵字
以字母順序?qū)ompany列進(jìn)行排序,并以數(shù)字順序?qū)rderNumber列進(jìn)行排序:
SELECT Company, OrderNumber FROM OrdersORDER BY Company, OrderNumber
以逆字母順序?qū)ompany列進(jìn)行排序,并以數(shù)字順序?qū)rdernumber列進(jìn)行排序:
SELECT Company, OrderNumber FROM OrdersORDER BY Company DESC, OrderNumber ASC#注意降序desc和升序asc關(guān)鍵字
INSERT INTO 語(yǔ)句用于向表格中插入新的行。注意插入的是行,行,行,重要的字寫(xiě)三遍。
插入新行
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')#此語(yǔ)句執(zhí)行插入新行的命令。insert into 是語(yǔ)法,persons是表,values是語(yǔ)法,cates,bill,xuanwuen10,beijing這些都是新行里的元素(值)。
在指定的列中插入值
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')#insert into是語(yǔ)法,persons是表,圓括號(hào)里是指定的列,values是語(yǔ)法,圓括號(hào)里用單引號(hào)環(huán)繞的是字符型對(duì)應(yīng)列的新值。
Update 語(yǔ)句用于修改表中的數(shù)據(jù)。
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'#此語(yǔ)句執(zhí)行修改Wilson行(在lastname列),firstname列之值命令。update是語(yǔ)法,person是表,set是語(yǔ)法,firstname是列,Fred是修改后的新值,where是語(yǔ)法。set語(yǔ)法引出新值,where語(yǔ)法負(fù)責(zé)定位行。
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'#此語(yǔ)句執(zhí)行修改Wilson行(在lastname列),address列和city列之值命令。update是語(yǔ)法,person是表,set是語(yǔ)法,address是列,zhongshan23是修改后的新值,city是列,nanjing是修改后的新值,where是語(yǔ)法。
DELETE 語(yǔ)句用于刪除表中的行。是行,是行,是行,重要的事說(shuō)三遍。
DELETE FROM Person WHERE LastName = 'Wilson'#此語(yǔ)句執(zhí)行刪除Wilson行之命令。delete from是語(yǔ)法,person是表,where是語(yǔ)法,lastname是列,其實(shí)lastname列已經(jīng)被指定為行名了,那么lastname列里的值Wilson順理成章就是行名了,Wilson行。
可以在不刪除表的情況下刪除所有的行。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的:
DELETE FROM table_name
或者:
DELETE * FROM table_name
top子句用于選取觀測(cè)
從 "Persons" 表中選取前兩行。
則 SELECT 語(yǔ)句:
SELECTTOP 2* FROM Persons#select top是語(yǔ)法,2是前兩行,*星號(hào)是語(yǔ)法,from是語(yǔ)法,persons是表
從 "Persons" 表中選取 50% 的觀測(cè)。
則SELECT 語(yǔ)句:
SELECTTOP 50 PERCENT* FROM Persons#select top是語(yǔ)法,50 percent是50%,*星號(hào)是語(yǔ)法,from是語(yǔ)法,persons是表
like操作符用于標(biāo)識(shí)列中元素的特征
從 "Persons" 表中選取city列中以N開(kāi)頭的元素,like操作符標(biāo)識(shí)出這種特征:
則SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE City LIKE 'N%'#select * from是語(yǔ)法,persons是表,where是語(yǔ)法,city是列,like是語(yǔ)法,'N%'是city列中以N開(kāi)頭的元素。%是通配符
從 "Persons" 表中選取city列中以g結(jié)尾的元素:
則SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE City LIKE '%g'#select * from是語(yǔ)法,persons是表,where是語(yǔ)法,city是列,like是語(yǔ)法,'%g'是city列中以g結(jié)尾的元素,like標(biāo)識(shí)出這種特征。注意通配符%的位置。
從 "Persons" 表中選取city列包含lon字樣的元素:
則SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE City LIKE '%lon%'#select * from是語(yǔ)法,persons是表,where是語(yǔ)法,city是列,like是語(yǔ)法,'%lon%'是city列中包含lon字樣的元素,%是通配符
從 "Persons" 表中選取city列中不包含lon字樣的元素:
則SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE City NOT LIKE '%lon%'#not ?like操作符標(biāo)識(shí)出city列中不包含lon字樣的元素
通配符
SQL 通配符必須與 LIKE 運(yùn)算符一起使用。

從 "Persons" 表中選取city列以Ne開(kāi)頭的元素:
則SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE City LIKE 'Ne%'#通配符%替代只是一個(gè)字符,既然是以Ne開(kāi)頭的元素,那么,通配符%肯定在其后面了呀
從 "Persons" 表中選取firstname列第一個(gè)字符之后是 "eorge" 的元素:
則?SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE FirstName LIKE '_eorge'#通配符_僅替代一個(gè)字符,firstname列第一個(gè)字符之后是 "eorge",那么,通配符_肯定在eorge前面了
從 "Persons" 表中選取city列中以 "A" 或 "L" 或 "N" 開(kāi)頭的元素:
則 SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE City LIKE '[ALN]%'#通配符[ ?]里面的字符之間是或的邏輯關(guān)系,通配符%替代至少一個(gè)字符。
從 "Persons" 表中選取city列不以"A" 或 "L" 或 "N" 開(kāi)頭的元素:
則 SELECT 語(yǔ)句:
SELECT * FROM Persons
WHERE City LIKE '[!ALN]%'#通配符[ ?]里面的字符之間是或的邏輯關(guān)系,邏輯運(yùn)算符!是非,否定邏輯,通配符%替代至少一個(gè)字符
in操作符用于提取列中多個(gè)元素
SELECT * FROM Persons
WHERE LastName IN ('Adams','Carter')#select * from是語(yǔ)法,persons是表,where是語(yǔ)法,lastname是列,in是操作符,圓括號(hào)里的是值來(lái)自列l(wèi)astname,即Adams,carter是列l(wèi)astname里元素。
BETWEEN 操作符在 WHERE 子句中使用,作用是選取介于兩個(gè)值之間的數(shù)據(jù)范圍。
這些值可以是數(shù)值、文本或者日期。
以字母順序ABCDE…對(duì)列l(wèi)astname排序后,用between操作符選取從"Adams"(包括)到"Carter"(不包括)之間的元素,則語(yǔ)句:
SELECT * FROM PersonsWHERE LastNameBETWEEN'Adams'AND'Carter'#select * from是語(yǔ)法,persons是表,where是語(yǔ)法,lastname是列,between是操作符,Adams是列l(wèi)astname里的元素,and是操作符,carter是列l(wèi)astname里的元素。
以字母順序ABCDE…對(duì)列l(wèi)astname排序后,用between操作符選取從"Adams"(包括)到"Carter"(不包括)范圍之外的元素,即從"Carter"(包括)開(kāi)始的元素,則語(yǔ)句:
SELECT * FROM PersonsWHERE LastNameNOTBETWEEN 'Adams' AND 'Carter'