SQL基礎(chǔ)語句

查詢:select * from table_name where 條件

查詢的結(jié)果集中使用別名:select 列名 AS 別名 from...辜荠,select 列名=別名 from...汽抚,select 列名 別名 from...

查詢null值空值: where IS NULL AND 列名=' ' ;

查詢中使用常量列:select userid as 用戶號,'常量列的值' AS 常量列名 from...;

查詢限制返回的行數(shù)百分比:TOP 10(返回前十行)? 和? TOP 20 PERCENT(返回前百分之二十)SQL:select top 20(pencent) column_name(s) FROM table_name? ?MySQL:select * from table limit 2;? Oracle:select * from table rownom <= 20;

查詢的時候排序:select * from table_name where 列名='條件' ORDER BY 列名 ASC(升序)/DESC(降序)

查詢的時候分組:?select * from table_name where 列名='條件' GROUP BY 列名?

WHERE用于分組錢的條件篩選伯病,? HAVING用于分組后的條件篩選

插入整行數(shù)據(jù):INSERT INTO bookxxb values('值', '值'......)

插入部分列數(shù)據(jù):INSERT INTO bookxxb(列名造烁,列名否过,列名) values ('值','值'惭蟋,'值')

插入多行數(shù)據(jù):INSERT INTO bookxxb values ('值'苗桂,'值'),('值'告组,'值')煤伟,('值','值')

插入多行SELECT結(jié)果集:INSERT INTO bookxxb SELECT 列 FROM Table? UNION? ALL SELECT 列 FROM Table? ? ?【UNION不允許重復(fù)的值木缝,UNION ALL允許重復(fù)的值】

刪除行:DELETE FROM bookxxb WHERE 條件

更新列的值:UPDATE bookxxb SET 列='值'便锨,列='值' WHERE 條件

模糊查詢:

通配符:

?A LIKE 'C_ '? ? ? ? 符合條件的有:Cs, CD等我碟,_只指代一個字符

B LIKE 'co%'? ? ? ?符合條件的有:comst放案,cokr, %包含零個或多個字符的任意字符串

C LIKE 'qwo[0-9]'? ? 符合條件的有:qwo1矫俺,qwo2等吱殉,指定范圍0-9或集合[0123]中的任意

D LIKE 'qwo[^1234]'? ?符合條件的有:qwo5,qwo8厘托, 不在指定范圍內(nèi)的其他

1. 使用LIKE進(jìn)行模糊查詢

SELECT * FROM UserInfo WHERE UserAddress LIKE '%四川%'

2. BETWEEN…AND:查詢兩個已知值之間的未知值

SELECT * FROM OderInfo WHERE OderTime NOT BETWEEN '2012-1-1' AND '2013-1-1'

3. 使用IN在列舉范圍內(nèi)進(jìn)行查詢

SELECT * FROM OderInfo WHERE Payway IN ('網(wǎng)上銀行'考婴,'郵政匯款')

子查詢:

簡單子查詢:

SELECT? * FROM CommodityInfo WHERE SortId = (SELECT SortId FROM CommoditySort WHERE SortName = '手機(jī)數(shù)碼' )

特點:a. 子查詢必須放在括號內(nèi)? b. 子查詢與比較運算符使用時要求子查詢的列只有一個? ? ? ? ? c. ORDER BY 排序不允許放在子查詢中,如果排序只能放在夫查詢中

當(dāng)子查詢返回的列的值為多個時催烘,那么久不能用比較運算符=沥阱,而需要使用IN 或者 NOT IN,關(guān)鍵字DISTINCT可以去掉重復(fù)數(shù)據(jù)伊群,接于SELECT之后考杉,然后再跟列。

ALL, ANY, SOME子查詢:

ALL:在父查詢中列必須大于子查詢返回的每一個值【Table1(2,3), Table2(1,2,3,4)】

SELECT * FROM Table2 WHERE n > ALL(SELECT? n? FROM Table1)? ?返回結(jié)果為4

> ANY:在父查詢列中的值必須大于子查詢返回列表值中的一個,SOME和ANY可互換

SELECT * FROM Table2 WHERE n > ANY (SELECT n FROM Table1)? ?返回3,4

= ANY 與子查詢中IN相同:父查詢的列的值必須在子查詢返回的值列表中

SELECT * FROM Table2 WHERE n = ANY (SELECT n FORM Table1)? ? 返回2,3

SELECT * FROM Table2 WHERE n IN (SELECT n FORM Table1)? ? 返回2,3

<>ANY 與NOT IN 相同:

SELECT * FROM Table2 WHERE n <> ANY (SELECT n FORM Table1)? ? 返回1,4

SELECT * FROM Table2 WHERE n <> ANY (SELECT n FORM Table1)? ??返回1,4

子查詢還可作列作表使用

EXISTS子查詢:

IF EXTSTS(SELECT * FROM OrderInfo WHERE CommodityId IN (SELECT CommodityId FROM CommodityInfo WHERE SortId = (SELECT SortId FROM CommoditySort WHERE SortName = '手機(jī)數(shù)碼')) AND Amount > 3)

BEGIN

UPDATE OrderInfo SET Paymoney = PayMoney * 0.8 WHERE CommodityId IN (SELECT? CommodityId FROM OrderInfo WHERE CommodityId =(SELECT? CommodityId FROM CommodityInfo WHERE SortId = (SELECT SortId FROM CommoditySort WHERE SortName = '手機(jī)數(shù)碼')) AND Amount > 3)

聚合函數(shù):

1. SUM:對列進(jìn)行求和

2. AVG:對列求平均值

3. MAX與MIN:對列求最值

4. COUNT:統(tǒng)計用戶表中用戶數(shù)量

內(nèi)連接查詢:

特點:a.兩個表存在主外鍵關(guān)系? ?b.參與查詢的兩個表地位相同無主次之分

實現(xiàn)方式:a. 使用WHERE語句指定連接條件? ?b.在from子句中使用INNER JOIN...ON

1. WHERE

SELECT OrderInfo.orderId,? UserInfo,UserName, OrderInfo.Amount, OrderInfo.CommdityId FROM OrderInfo, UserInfo? WhERE OrderInfo.UserId = UserInfo.UserId

2. 使用INNER JOIN---ON

SELECT OrderId 舰始,UserName崇棠, O.Amount, CommodityName FROM UserInfo AS U INNER JOIN OrderInfo AS O ON U.UserId = O.UserId

INNER JOIN CommoditiInfo AS C ON O.commodityId = C.CommodityId

外連接查詢:

特點:a.參與外連接的表有主次之分? ?b.以主表的每行數(shù)據(jù)所匹配從表的數(shù)據(jù)列丸卷,將符合條件的數(shù)據(jù)直接返回到結(jié)果集中? c.對那些不符合連接條件的列枕稀,將填上NULL值,后再返回到結(jié)果集中谜嫉。

左外連接:以左表為主萎坷,右邊中沒有匹配的將用NULL值代替

SELECT * FROM CommoditySort(主表) AS S LEFT JION CommodityInfo AS I ON S.SortId = I.SortId

右外連接:以右表為主

SELECT * FROM CommoditySort(主表) AS S RIGHT JION CommodityInfo AS I ON S.SortId = I.SortId

合并查詢:使用UNION合并查詢

字符串函數(shù):

1. CHARINDEX:在一個字符串中查找另一個字符串,如果找到返回位置沐兰,若沒有返回0

SELECT? CHARINDEX? ('zxw', 'www.51zxw.net')? ? ? ? ?——返回7

三個參數(shù)哆档,第一個是要查找的,第二個是源字符串住闯,第三個是開始位置

SELECT CHARINDEX? ('zxw', 'www.51zxw.net', 10)? ? ?——返回0

查詢“江流兒”的郵箱中“@”符號的位置

SELECT CHARINDEX? ('@', Email)? FROM UserInfo? WHERE? UserName = '江流兒'? ? ? ? ? ? (使用CHARINDEX的目的是想把郵箱中用戶名提取出來)

2. LEN:求字符串的長度

SELECT LEN(Email)? FROM UserInfo WHERE UserName = '江流兒'

3. LEFT: 從字符串的左邊截取指定個數(shù)的字符瓜浸。

SELECT LEFT (Email, CHARINDEX('@', Email)-1)? FROM UserInfo WHERE UserName = '江流兒'? ? ? ? ? ——返回@前的字符澳淑。

4. REPLACE:替換一個字符串的字符

SELECT REPLACE('我最喜歡的顏色是白色', '白色','綠色')? ? ?——將白色替換成綠色插佛,如果最后一個是空格杠巡,則將白色刪除

5. STUFF:參數(shù)1是源字符串,參數(shù)2是開始位置雇寇,參數(shù)3是刪除的長度氢拥,參數(shù)4是插入新字符串

SELECT STUFF ('ABCDE', 2, 3, '時間')? ? ——返回A時間E

日期函數(shù):

1. GETDATE:獲取當(dāng)前系統(tǒng)的時間

SELECT GETDATE()? ? ? ——返回系統(tǒng)時間

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谢床,隨后出現(xiàn)的幾起案子兄一,更是在濱河造成了極大的恐慌厘线,老刑警劉巖识腿,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異造壮,居然都是意外死亡渡讼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門耳璧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來成箫,“玉大人,你說我怎么就攤上這事旨枯〉挪” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵攀隔,是天一觀的道長皂贩。 經(jīng)常有香客問我,道長昆汹,這世上最難降的妖魔是什么明刷? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮满粗,結(jié)果婚禮上辈末,老公的妹妹穿的比我還像新娘。我一直安慰自己映皆,他們只是感情好挤聘,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捅彻,像睡著了一般檬洞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沟饥,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天添怔,我揣著相機(jī)與錄音湾戳,去河邊找鬼。 笑死广料,一個胖子當(dāng)著我的面吹牛砾脑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播艾杏,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼韧衣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了购桑?” 一聲冷哼從身側(cè)響起畅铭,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勃蜘,沒想到半個月后硕噩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡缭贡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年炉擅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阳惹。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡谍失,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出莹汤,到底是詐尸還是另有隱情快鱼,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布纲岭,位于F島的核電站抹竹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏荒勇。R本人自食惡果不足惜柒莉,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沽翔。 院中可真熱鬧兢孝,春花似錦、人聲如沸仅偎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽橘沥。三九已至窗轩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間座咆,已是汗流浹背痢艺。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工仓洼, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人堤舒。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓色建,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舌缤。 傳聞我的和親對象是個殘疾皇子箕戳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容