1.SQL語句通常分成4類:數據查詢語言、數據操作語言、數據定義語言和數據控制語言
2.設置日期格式
SET
DATEFORMAT mdy
GO
DECLARE
@datevar
datetime
SET
@datevar
=
'
03/21/2013
'
SELECT
@datevar
?
3.局部變量與全局變量
? 局部變量:用DECLARE語句聲明,用SET語句為其賦值
??? 定義整形局部變量和一個可變長字符局部變量并賦值
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 系統所提供并賦值的變量,用戶不能建立全局變量,也不能使用SET語句去修改全局變量的值,全局變量的名字以@@開頭
? 常用的全局變量:
? @@connections:返回今天試圖連接到本服務器的連接數目
? @@rowcount:返回上一條T-SQL語句影響到的數據行數
? @@error:返回上一條T-SQL語句執行后的錯誤號
? @@procid:返回當前存儲過程的ID標識
? @@remserver:返回登錄記錄中遠程服務器的名字
? @@spid:返回當前服務器進程的ID標識
? @@version:返回當前SQL Server 服務器的版本、處理器類型等
4.數學函數
SELECT
ABS
(
-
2
)
/*
絕對值
*/
,
SQRT
(
16
)
/*
開方
*/
,
POWER
(
4
,
2
)
/*
平方
*/
,
RAND
(
2
)
/*
返回0到1之間的隨機float值
*/
5.字符串函數
SELECT
SUBSTRING
(
'
MICROSOFT SQL SERVER 2012
'
,
11
,
10
),
/*
SQL SERVER
*/
REVERSE
(
'
MICROSOFT
'
)
/*
逆序返回
*/
?6. 流程控制語言
?? CASE表達式
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語句
WHILE
boolean_expression
sql_statement
[
BREAK
]
{Sql_statement}
[
CONTINUE
]
{Sql_statement}
7.ERA模型
? 在ERA模型中,實體一般用長方形表示,關系一般用棱形,屬性一般用橢圓形
?
8 從student 表檢索名字的第二個字不是“紅”或“虹”的同學的資料;
? 李紅[大](student表中有兩個學生“李紅”同名同姓,分別以李紅[大]、李紅[小]加以區分)同學的信息
select
*
from
student
where
student_name
like
'
_[^紅,虹]%
'
select
*
from
student
where
student_name
like
'
李紅b[大b]
'
escape
'
b
'
??在ESCAPE 子句中,定義"b"為轉義字符,這樣,like 子句中緊跟字符"b"后面的字符被定義為匹配字符而不再是通配符
?
9.多表查詢:基于主鍵和外鍵指定查詢條件, 連接條件可使用"主鍵=外鍵"
? 從student、course及student_course 三個表中檢索學生的學號,姓名,學習課程號、學習課程名及課程成績
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子句:把兩個或多個SELECT 語句查詢的結果組合成一個結果集
select
student_id,student_name
from
student
union
select
teacher_id,teacher_name
from
teacher
11.Having 子句 是針對Group By 子句的,沒有group by 子句時使用having 子句是沒有意義的
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.若建臨時表,必須在表前設置#(局部臨時表)或##(全局臨時表)#temp_grade
14.刪除表的列:
alter
table
[
dbo
]
.
[
Students
]
drop
column
[
student_num
]
? 修改表的列
alter
table
[
dbo
]
.
[
Students
]
alter
column
[
course_id
]
int
not
null
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

