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个人

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

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

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

练习一:

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

练习二:

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

练习三:

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

二、主键

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

主键的作用:

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

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

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

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

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

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

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

设置外键:

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

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

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

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

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

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

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

二、变量

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

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

局部变量:

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

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

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

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

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

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

三、运算符

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

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

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

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

上一篇:DbVisualizer:Oracle触发器,解决ORA-04098: 触发器 'USER.DECTUSERTEST_TRI' 无效且未通过重新验证


下一篇:【easy】438.Find All Anagrams in a String 找出字符串中所有的变位词