亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

SQL Server基礎--T-SQL語句

難度入門
時長 1小時37分
學習人數
綜合評分9.57
350人評價 查看評價
9.8 內容實用
9.4 簡潔易懂
9.5 邏輯清晰
  • 數據庫附加到當前數據庫中? attach

    查看全部
  • 主鍵 唯一且不能為空
    查看全部
  • Select <table fields list>(表字段列表)

    From ?<table names list>(表名稱列表)

    Where <row constraints specification>(行約束條件)

    Group by <grouping specification>(分組規范)

    Having <grouping selection specification>(分組選擇規范)

    Order by <order rules specification>(順序規則規范)

    查看全部
  • primary key與foreign key之間建立的聯系

    查看全部
  • SELECT <table fields list>

    ——所要查詢的列,后面接<列名1,列名2>

    FROM <table names list>

    ——在指定的表中獲取,后面接<表名1,表名2>

    例:SELECT ? SalesOrderNumber

    ???? ? FROM ???FactResellerSales

    從FactResellerSales表中查詢SalesOrderNumber列


    where <row constraints specification>

    ——設置限制條件,指定符合條件的數據被調取。

    group by <grouping specification>

    ——表示分組,GROUP BY必須得配合聚合函數來用,分組之后你可以

    • count() ?計數、sum() ?求和、avg() ? 平均數、max() ?最大值、min() ? 最小值

    having <grouping selection specification>

    ——用來過濾由GROUP BY語句返回的記錄集,針對聚合運算設置限制條件,

    order by <order rules specification>

    ——對輸出結果進行排序


    查看全部
  • 不能附加數據庫時的操作

    st_log.ldf文件在電腦中不存在,選中它點下面的“remove”將其移除再點“ok”即可


    查看全部
  • select 列1,列2,列3,...

    from 表名1,表名2,表名3,...

    where 對行的限制條件

    group by 對集合運算的定義

    having 對集合運算的限制條件

    order by 排序


    查看全部
  • 行:Row/Record

    列:Column/Attribute

    字段:Field/Cell

    主鍵:primary key

    外鍵:foreign key

    查看全部
  • where 中多個條件用and連接

    查看全部
  • Select Top 100 * from []
    查看全部
  • having Max()

    查看全部
  • count; distinct,?

    查看全部
  • select 列1,列2,列3,...

    from 表名1,表名2,表名3,...

    where 對行的限制條件

    group by 對集合運算的定義

    having 對集合運算的限制條件

    order by 排序

    查看全部
  • HAVING語句通常與GROUP BY語句聯合使用,用來過濾由GROUP BY語句返回的記錄集。

    HAVING語句的存在彌補了WHERE關鍵字不能與聚合函數聯合使用的不足。

    語法:

    SELECT column1, column2, ... column_n, aggregate_function (expression)FROM tablesWHERE predicatesGROUP BY column1, column2, ... column_nHAVING condition1 ... condition_n;

    同樣使用本文中的學生表格,如果想查詢平均分高于80分的學生記錄可以這樣寫:

    SELECT id, COUNT(course) as numcourse, AVG(score) as avgscore

    FROM student

    GROUP BY id

    HAVING AVG(score)>=80;


    查看全部
  • --Topic 4
    select ProductID, Name, ProductNumber, isnull(Color,''), isnull(Size,'1'), ListPrice
    from Production.Product

    #注釋-isnull()--針對空值進行編輯,isnull(Color,'')--指定Color列的空值不顯示, isnull(Size,'1')指定Size的空值顯示為1代替。

    --Topic 5
    select ProductID, Name, ProductNumber,
    isnull(Color,'') as Color, isnull(Size,'') as Size123, --using an alias
    ListPrice
    from Production.Product
    #注釋:as--給查詢結果中的列編輯新列名

    select ProductID, Name as ProductName, --using an alias
    'The list price for ' + ProductNumber + ' is $ ' + convert(varchar,ListPrice) +'.' ,--using the concatenation to join character end-to-end.(使用串聯將字符端到端連接起來。)
    'The list price for ' + ProductNumber + ' is $ ' + convert(varchar,ListPrice) +'.' as [Description] --using brackets to let SQL server conside the strin as a column name(--使用括號中的字符串視為列名)
    from Production.Product

    #注釋:

    ??格式:
    ???CONVERT(data_type,expression[,style])--轉換函數

    ??說明:
    ???此樣式一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar)相互轉換的時候才用到.
    ???
    ???字符串類型:
    ???CHAR
    ????CHAR存儲定長數據很方便,CHAR字段上的索引效率級高,比如定義char(10),那么不論你存儲的數據是否達到了10個字節,都要占去10個字節的空間。
    ???VARCHAR
    ????存儲變長數據,但存儲效率沒有CHAR高,如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的。
    ????VARCHAR類型的實際長度是它的值的實際長度+1。為什么"+1"呢?這一個字節用于保存實際使用了多大的長度。
    ???TEXT
    ????text存儲可變長度的非Unicode數據,最大長度為2^31-1(2,147,483,647)個字符。
    ???NCHAR、NVARCHAR、NTEXT、三種從名字上看比前面三種多了個"N"。
    ???和char、varchar比較起來,nchar、nvarchar最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字。
    ???可以看出使用nchar、nvarchar數據類型時不用擔心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數量上有些損失。

    --Topic 6
    select BusinessEntityID,rate from [HumanResources].[EmployeePayHistory]

    https://img1.sycdn.imooc.com//5cb732420001475905700333.jpg

    select BusinessEntityID
    ,rate
    ,rate*40*52 as AnnualSalary
    ,round(rate*40*52,1) as AnnualSalary
    ,round(rate*40*52,0) as AnnualSalary
    from [HumanResources].[EmployeePayHistory]

    #注釋:round函數--是對數據進行制定精度的取值
    ??第一個參數是取值的數據,第二個參數是精度,
    ??第三個參數是數據取值模式(四舍五入還是截斷),其中第三個參數是可選參數,默認是四舍五入模式。

    select BusinessEntityID
    ,(rate+5)*40*52 as AnnualSalary
    from [HumanResources].[EmployeePayHistory]

    #注釋:sql server遵循算數運算法則,優先計算()內的


    查看全部

舉報

0/150
提交
取消
課程須知
本教程特別為零基礎的學員而設計,無需有任何計算機背景和專業。老師會循序漸進,深入淺出地對數據庫以及相關的TSQL查詢語言進行介紹講解。
老師告訴你能學到什么?
1、目前市場上流行的幾大數據庫巨頭及其產品簡介 2、詳細的微軟數據庫軟件安裝步驟和基本功能介紹 3、關系型數據庫的概念介紹和實體模型 4、經典TSQL查詢句式 5、如何進行正倒序排列、使用別名、數學符號 6、如何使用條件句式,如何處理空值,如何使用分組函數

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!