• 数据库(连接查询、变量)


    一、连接查询:通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。

    常用的两个链接运算符:

    1.join   on

    2.union

        在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,随后通过连接进行查询。

    例1

    --语文成绩前五名的所有信息及班主任
       select top 5 code,name,sex,yuwen,shuxue,yingyu,(select boss from banji where banji.bcode=grade.bc)as'班主任',(select banji from banji where banji.bcode=grade.bc)as '班级'from grade order by yuwen desc
       select top 5 grade.code,name,sex,yuwen,shuxue,yingyu,banji. boss,banji from grade,banji where banji.bcode=grade.bc order by yuwen desc  --链接查询
         select top 5 grade.code,name,sex,yuwen,shuxue,yingyu,banji. boss,banji from grade join banji on banji.bcode=grade.bc order by yuwen desc     --用join  on的链接查询

    例2

    --用join  on 将grade表与banji表拼接起来
    select  grade.code,name,sex,yuwen,shuxue,yingyu,banji.banji,boss from grade join banji on banji.bcode=grade.bc

    例3

    --插入两个不完整的数据
    insert into grade values ('王德荣','',67,null,null,null)
    insert into banji values (1004,'四班',null)
    --全部显现
    select grade.code,name,sex,yuwen,shuxue,yingyu,banji.banji,boss from grade full join banji on banji.bcode=grade.bc
    --只显示左边
    select grade.code,name,sex,yuwen,shuxue,yingyu,banji.banji,boss from grade left join banji on banji.bcode=grade.bc
    --只显示右边
    select grade.code,name,sex,yuwen,shuxue,yingyu,banji.banji,boss from grade right join banji on banji.bcode=grade.bc

    例4

    --查看二班和三班语文成绩大于85分的所有信息
    select  code,name,sex,yuwen,shuxue,yingyu,(select banji from banji where banji.bcode=grade.bc) as '班级'from grade where code in(select code from grade where yuwen>85 and bc=(select bcode from banji where banji='二班' ))
    union
    select  code,name,sex,yuwen,shuxue,yingyu,(select banji from banji where banji.bcode=grade.bc) as '班级'from grade where code in(select code from grade where yuwen>85 and bc=(select bcode from banji where banji='三班' ))

    三表之间的查询

    --查看所卖商品的编号、名称、价格、供应商、总量
    select code as'编号',mname as'名称',mprice as'价格',gname as'供应商',(mshu+cshu) as'商品总量' from men join cang on men.mcode=cang.code join gong on cang.cg=gong.gcode
    

    变量:

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

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

    局部变量:

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

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

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

      

    全局变量:又叫做系统变量。

    常用的几个系统变量示例:

    变量小练习:

    需要在打印的字符串中打印出单引号的方法:连打两个单引号。

    运算符:

    练习:

    运算符优先级:

    if...else...语句:

    示例:

    while 语句:

    示例:

    While  if嵌套示例:                                                  whilebreak跳出示例:

  • 相关阅读:
    A+B
    Java(2)数据类型转换、变量和常量
    1002. 写出这个数 (20)
    1001.害死人不偿命的(3n+1)
    ACM算法目录
    《mysql必知必会》学习_第19章
    Redhat 6.1安装ArcGIS Server10.1
    ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
    ArcGIS 10.1 for Server安装教程系列—— Linux下的单机安装
    Linux ANSI 乱码问题
  • 原文地址:https://www.cnblogs.com/zblc2016/p/5837955.html
Copyright © 2020-2023  润新知