• 数据库语法01


    数据库的一些基本命令和小练习

    练习1 eg:

       有一张表T_Scores,记录比赛成绩

    Date              Name          Score

    2008-8-8        拜仁            胜

    2008-8-9        奇才            胜

    2008-8-9        湖人            胜

    2008-8-10      拜仁            负

    2008-8-8        拜仁            负

    2008-8-12       奇才           胜

    要求输出下面的格式      <注:在中文字符串前面加N,比如N‘胜’>

      Name       胜        负

      拜仁         1          2

      湖人         1          0

      奇才         2          0

    代码:1:

    <一步一步慢慢实现>

    select Name,
    (
    case Score
    when N'胜' then 1
    else 0
    end
    )as 胜,
    (
    case Score
    when N'负' then 1
    else 0
    end
    ) as 负
    from Scores

              image

    代码:2

    select Name,
    SUM(
    case Score
    when N'胜' then 1
    else 0
    end
    )as 胜,
    SUM(
    case Score
    when N'负'then 1
    else 0
    end
    )as 负
    from Scores
    group by Name

                image

                    <实现要求的输出,如上面的代码2所示。>

    索引学习<index>

    全表扫描:对数据进行检索(select)效率最差的是全表扫描,一条条的找。

    **目录就是索引。

    **创建索引的方式

      ----表—右键--创建索引---添加--在列中选择索引包含的列--确定。

    **使用索引能提高查询效率但是其占空间,而且添加,更新,删除数据时需要同步索引,因此

    会降低速度。只在经常检索的字段上面创建索引。

         (*)即使创建了索引,有时也需要全表扫描,比如like,函数,类型转换等。

    表连接 <join>

    Join用法:

    主要有Inner Join 及 Outer Join:

    最常用的(默认是Inner):

    Select <要选择的字段> From <主要资料表>

    <Join 方式> <次要资料表> [On <Join 规则>]

    Inner Join 的主要精神就是 exclusive , 叫它做排他性吧! 就是讲 Join 规则不相符的资料就会被排除掉, 譬如讲在 Product 中有一项产品的供货商代码 (SupplierId), 没有出现在 Suppliers 资料表中, 那么这笔记录便会被排除掉

    Outer Join:

    Select <要查询的字段> From <Left 资料表>

    <Left | Right> [Outer] Join <Right 资料表> On <Join 规则>

    语法中的 Outer 是可以省略的, 例如你可以用 Left Join 或是 Right Join, 在本质上, Outer Join 是 inclusive, 叫它做包容性吧! 不同于 Inner Join 的排他性, 因此在 Left Outer Join 的查询结果会包含所有 Left 资料表的资料, 颠倒过来讲, Right Outer Join 的查询就会包含所有 Right 资料表的资料

    子查询

             将一个查询语句作为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询.            <可以使用表的地方都可以使用子查询来代替>

    select * from

    (select * from Student where Age>20)

    as 姓名 

                   <只有返回且仅返回一行,一列数据的子查询才能当成单值子查询>

    select  rom_number() over( order by Age DESC) as romnum

    Name,Age,Chinese,Math from Student 

    <rom_number>不能应用在Where语句的查询中。

    ********这一阶段的数据库看完了,自己也掌握了很多的数据库的查询,建表,更新,删除等语句,下面应该就是ADO.NET的学习,这个就是要把vs和数据库连接起来,实现二者的互动。自己对于数据库的理解还只是处于初级阶段,还有更多的知识等着我去学习,不敢在放肆的玩了,要加油,为了我更早的成为大神。

      

  • 相关阅读:
    Power Apps 创建响应式布局
    SharePoint Online 软件边界限制
    Power Apps 中人员选择器的使用
    Power Apps 中修改 SharePoint Online 数据
    Power Apps 中调用 Automate 工作流
    如何查看你的Office 365 账号的订阅
    Microsoft Teams 中嵌入SharePoint Online 页面
    SharePoint Online 触发Outlook邮件内审批
    Linux查看实时网卡流量的几种方式
    Linux性能优化和监控系列(三)——分析Memory使用状况
  • 原文地址:https://www.cnblogs.com/netxiaohui/p/4161204.html
Copyright © 2020-2023  润新知