为了账号安全,请及时绑定邮箱和手机立即绑定

SQL Server基础--T-SQL语句

难度入门
时长 1小时37分
学习人数
综合评分9.57
349人评价 查看评价
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下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!