1.SQL語(yǔ)句通常分成4類:數(shù)據(jù)查詢語(yǔ)言、數(shù)據(jù)操作語(yǔ)言、數(shù)據(jù)定義語(yǔ)言和數(shù)據(jù)控制語(yǔ)言
2.設(shè)置日期格式
SET DATEFORMAT mdy GO DECLARE @datevar datetime SET @datevar = ' 03/21/2013 ' SELECT @datevar
?
3.局部變量與全局變量
? 局部變量:用DECLARE語(yǔ)句聲明,用SET語(yǔ)句為其賦值
??? 定義整形局部變量和一個(gè)可變長(zhǎng)字符局部變量并賦值
DECLARE @local_variable_int int , @local_variable_char nvarchar ( 9 ) SELECT @local_variable_int = 40 SET @local_variable_char = ' welcome to guangzhou ' SELECT @local_variable_int SELECT @local_variable_char GO
? 全局變量:是SQL Server 系統(tǒng)所提供并賦值的變量,用戶不能建立全局變量,也不能使用SET語(yǔ)句去修改全局變量的值,全局變量的名字以@@開(kāi)頭
? 常用的全局變量:
? @@connections:返回今天試圖連接到本服務(wù)器的連接數(shù)目
? @@rowcount:返回上一條T-SQL語(yǔ)句影響到的數(shù)據(jù)行數(shù)
? @@error:返回上一條T-SQL語(yǔ)句執(zhí)行后的錯(cuò)誤號(hào)
? @@procid:返回當(dāng)前存儲(chǔ)過(guò)程的ID標(biāo)識(shí)
? @@remserver:返回登錄記錄中遠(yuǎn)程服務(wù)器的名字
? @@spid:返回當(dāng)前服務(wù)器進(jìn)程的ID標(biāo)識(shí)
? @@version:返回當(dāng)前SQL Server 服務(wù)器的版本、處理器類型等
4.數(shù)學(xué)函數(shù)
SELECT ABS ( - 2 ) /* 絕對(duì)值 */ , SQRT ( 16 ) /* 開(kāi)方 */ , POWER ( 4 , 2 ) /* 平方 */ , RAND ( 2 ) /* 返回0到1之間的隨機(jī)float值 */
5.字符串函數(shù)
SELECT SUBSTRING ( ' MICROSOFT SQL SERVER 2012 ' , 11 , 10 ), /* SQL SERVER */ REVERSE ( ' MICROSOFT ' ) /* 逆序返回 */
?6. 流程控制語(yǔ)言
?? CASE表達(dá)式
CASE expression { WHEN expression THEN result} [ ,...n ] [ ELSE result ] END
?? BEGIN... END
BEGIN Sql_statement END
??IF...ELSE
IF Boolean_expression Sql_statement [ ELSE [IF Boolean_expression ] Sql_statement ]
? WHILE語(yǔ)句
WHILE boolean_expression sql_statement [ BREAK ] {Sql_statement} [ CONTINUE ] {Sql_statement}
7.ERA模型
? 在ERA模型中,實(shí)體一般用長(zhǎng)方形表示,關(guān)系一般用棱形,屬性一般用橢圓形
?
8 從student 表檢索名字的第二個(gè)字不是“紅”或“虹”的同學(xué)的資料;
? 李紅[大](student表中有兩個(gè)學(xué)生“李紅”同名同姓,分別以李紅[大]、李紅[小]加以區(qū)分)同學(xué)的信息
select * from student where student_name like ' _[^紅,虹]% ' select * from student where student_name like ' 李紅b[大b] ' escape ' b '
??在ESCAPE 子句中,定義"b"為轉(zhuǎn)義字符,這樣,like 子句中緊跟字符"b"后面的字符被定義為匹配字符而不再是通配符
?
9.多表查詢:基于主鍵和外鍵指定查詢條件, 連接條件可使用"主鍵=外鍵"
? 從student、course及student_course 三個(gè)表中檢索學(xué)生的學(xué)號(hào),姓名,學(xué)習(xí)課程號(hào)、學(xué)習(xí)課程名及課程成績(jī)
select student.student_id,student.student_name,student_course.course_id,course.course_name,student_course.grade
from student, course,student_course where student.student_id = student_course.student_id and course.course_id = student_course.course_id
10.使用UNION子句:把兩個(gè)或多個(gè)SELECT 語(yǔ)句查詢的結(jié)果組合成一個(gè)結(jié)果集
select student_id,student_name from student union select teacher_id,teacher_name from teacher
11.Having 子句 是針對(duì)Group By 子句的,沒(méi)有g(shù)roup by 子句時(shí)使用having 子句是沒(méi)有意義的
select student_id, sum (grade) from student_course group by student_id having sum (grade) > 450
12.使用compute 和coupute by 子句
select student_id ,grade from student_course order by student_id compute sum (grade)
?
select student_id,grade from student_course order by student_id compute sum (grade) by student_id
13.若建臨時(shí)表,必須在表前設(shè)置#(局部臨時(shí)表)或##(全局臨時(shí)表)#temp_grade
14.刪除表的列:
alter table [ dbo ] . [ Students ] drop column [ student_num ]
? 修改表的列
alter table [ dbo ] . [ Students ] alter column [ course_id ] int not null
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
