• SQL server 子查询、设置主键外键、变量及变量查询


    一、子查询

    子查询,又叫做嵌套查询。

          将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询。

    子查询有两种类型:

    一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数;

    另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的数据表。

    示例:

    --表一:学生表   student                      |--表二:教师表        teacher
    --学号:code   int       (主键)从1开始           |--教师编号:code  int  (主键)   从1001开始
    --姓名:name  varchar(50)                       |--负责课程:lesson  char(10)(语文、数学、英语)
    --性别:sex  char(10)                              |--年龄:age    int
    --班级:banji    char(10)                          |--生日:birth   datetime
    --语文教师编号:yujiao        int    
    --数学教师编号:yujiao        int    
    --英语教师编号:yujiao        int   

    --表三:分数表        score
    --学号:code        int        (学生学号的外键)
    --语文分数:yufen        decimal(18,2)
    --数学分数:shufen        decimal(18,2)
    --英语分数:yingfen        decimal(18,2)

    --学生表数据:插入三个班的学生数据,每个班的相同科目的教师都是相同的,至少每个班5个人

    --教师表数据:语文教师,数学教师,英语教师分别三个,每一个对应一个班级

    --分数表数据:学号对应的语文、数学、英语成绩

    练习一:

    练习二:

    练习三:

    二、主键

           数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可 通过定义 PRIMARY KEY约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。

     主键的作用:

     (1)保证实体的完整性;

     (2)加快数据库的操作速度;

     (3) 在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

     (4) 数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

    主键具有的特点:唯一性、非空性。

    设置自增长主键语句示例:

     

    设置外键:

          在要设置外键的表上右键,选择设计,在需要设置外键的列名前右键,如下图:

     

    选择关系单击,出现对话框,单击添加,单击表和列规范后面的省略号,如下图:

     

    在出现的界面做出如下操作:

     

    点击确定,再点击确定,操作成功。

    二、变量

    SQL语言也跟其他编程语言一样,拥有变量、分支、循环等控制语句。

    在SQL语言里面把变量分为局部变量全局变量,全局变量又称系统变量。

    局部变量:

    使用declare关键字给变量声明,语法非常简单:declare @<变量名> <变量类型>

    对变量的赋值可以使用set关键字,使用set关键字时对变量的赋值一次只能赋值一个。

    我们也可以在查询语句里面对这个变量进行赋值。

     

    三、运算符

  • 相关阅读:
    APIO2015雅加达的摩天楼
    索引(填坑进度:0.1‰)
    树形 DP 笔记 · 一
    「已弃坑」DP 优化的各种姿势 (From CF)
    C++ 的位运算:__builtin, bitset
    LA 7158. ACM-ICPC World Finals 2015 I. Ship Traffic
    LA 7155. ACM-ICPC World Finals 2015 F. Keyboarding
    LA 7150. ACM-ICPC World Finals 2015 A. Amalgamated Artichokes
    LA 7587. ACM-ICPC World Finals 2016 L. Swap Space
    LA 7578. ACM-ICPC World Finals 2016 C. Ceiling Function
  • 原文地址:https://www.cnblogs.com/jiangshuai52511/p/4987842.html
Copyright © 2020-2023  润新知