Transact-SQL語言

來源:互聯網
上載者:User

1.SQL語句通常分成4類:資料查詢語言、資料操作語言、資料定義語言 (Data Definition Language)和資料控制語言

2.設定日期格式

SET DATEFORMAT mdyGODECLARE @datevar datetimeSET @datevar='03/21/2013'SELECT @datevar

 

3.局部變數與全域變數

  局部變數:用DECLARE語句聲明,用SET語句為其賦值

   定義整形局部變數和一個可變長字元局部變數並賦值

DECLARE @local_variable_int int, @local_variable_char nvarchar(9)SELECT @local_variable_int=40SET @local_variable_char='welcome to guangzhou'SELECT @local_variable_intSELECT @local_variable_charGO

  全域變數:是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_coursewhere student.student_id =student_course.student_id and course.course_id =student_course.course_id

10.使用UNION子句:把兩個或多個SELECT 語句查詢的結果組合成一個結果集

select student_id,student_name from studentunionselect 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

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.