更名运算

as子句形式:

old-name as new-name

as子句既可以出现在select子句中,也可以出现在from子句中。
as子句在重命名关系时特别有用有两个原因:

  • 把一个长的关系名替换成短的,这样在查询中的其他地方使用起来就更为方便
  • 为了适用于需要比较同一个关系中的元组的情况。为此我们需要把一个关系跟它自身进行笛卡尔积运算,如果不重命名,就不可能把一个元组与其他元组区分开来
    假设我们希望查询:“找出满足下面条件的所有教师的姓名,他们的工资至少比Biology系某一位教师的工资要高。”我们可以写出这样的SQL表达式:
select distinct T.name
from instructor as T,instructor as S
where T.salary>S.salary and S.dept_name='Biology';

这里不能使用instructor.salary这样的写法,因为这样并不清楚到底希望引用哪一个instructor。
在上述查询中,T和S可以被认为是instructor关系的两份拷贝,但更准确地说,它们被声明为instructor关系的别名,也就是另外的名称。像T和S那样被用来重命名关系的标识在SQL标准中被称作相关名称,但通常也被称作表别名,或相关变量,或元组变量


字符串运算

SQL使用一对单引号来标识字符串,如果单引号是字符串的组成部分,那就用两个单引号字符来表示,如字符串It’s right可表示为**‘It’‘s right’
在SQL标准中,
字符串上的相等运算是大小写敏感的(然而在一些数据库系统,如MySQL和SQL Server中,在匹配字符串时并不区分大小写,这种缺省方式是可以在数据库级或特定属性级修改的
在字符串上可以使用
like运算符来实现模式匹配**,我们使用两个特殊的字符来描述模式。

  • 百分号(%):%字符匹配任意子串
  • 下划线(_):_字符匹配任意一个字符
    模式是大小写敏感的
    SQL通过使用比较运算符like来表达模式。

为使模式能够包含特殊的模式字符(即%和_),SQL允许定义转义字符转义字符直接用在特殊的模式字符前面,表示该特殊的模式字符被当成普通字符。我们在like比较运算中使用escape关键字来定义转义字符。
为说明这一用法,考虑以下模式,其中使用反斜线(\)作为转义字符:

like ‘ab%cd%’ escape ''匹配以“ab%cd”开头的所有字符串
like ‘ab\cd%’ escape ''匹配以“ab\cd”开头的所有字符串

SQL允许我们通过使用not like比较运算符来搜索不匹配项。一些实现还提供like运算的变种,它不区分大小写。


select子句中的属性说明

星号"*"可以用在select子句中表示“所有的属性”。
形如select *的select子句表示from子句的结果关系的所有属性都被选中

排列元组的显示次序

order by子句可以让查询结果中的元组按排列顺序显示。
缺省情况下,order by子句按升序列出显示项。要说明排列顺序,我们可以用desc表示降序,或用asc表示升序。此外排序可以在多个属性上进行
假设我们希望按salary的降序列出整个instructor关系,如果有几位教师的工资相同,就将他们按姓名升序排列。我们用SQL将该查询表示如下:

select *
from instructor
order by salary desc,name asc; //首先按工资降序,工资一样的情况下按姓名升序

where子句谓词

为了简化where子句,SQL提供between比较运算符来说明一个值小于或等于某个值,同时大于或等于另一个值
类似的,我们还可以使用not between比较运算符。
SQL允许我们用符号(v1,v2,…,vn)来表示一个包含值v1,v2,…,vn的n维元组;该符号被称为行构造器(row constructor)。在元组上可以运用比较运算符,并按字典顺序进行比较运算。例如,当a1<=b1且a2<=b2时,(a1,a2)<=(b1,b2)为真。类似地,当两个元组在所有属性上相等时,它们是相等的

SQL中附加的基本运算相关推荐

  1. 如何在SQL Server中附加Pubs数据库

    在本教程中,我将解释如何 在SQL Server中 附加Pubs数据库  . 每个其他数据库的过程都是相同的. 您需要将Pubs MDF和LDF文件附加到SQL Server. 请注意,Northwi ...

  2. SQL Server2008附加数据库之后显示为只读

    SQL Server2008附加数据库之后显示为只读时解决方法 啰嗦的话就不多说了,直入主题吧! 方案一: 碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定 ...

  3. SQL Server2008附加数据库之后显示为只读时解决方法

    SQL Server2008附加数据库之后显示为只读时解决方法 啰嗦的话就不多说了,直入主题吧! 方案一: 碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定 ...

  4. (转载)SQL Server2008附加数据库之后显示为只读时解决方法

    SQL Server2008附加数据库之后显示为只读时解决方法 啰嗦的话就不多说了,直入主题吧! 方案一: 碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定 ...

  5. sql中如何统计各种零件的总数量_数据蒋堂 | SQL是描述性语言?

    作者:蒋步星 来源:数据蒋堂 本文共1200字,建议阅读8分钟.用SQL写代码时一般不用再关心变量.循环的具体动作,但要操心表.字段这些概念上的计算过程. 我们在学习SQL时,常常会看到这样的论调:S ...

  6. sql中的while循环_SQL While循环:了解SQL Server中的While循环

    sql中的while循环 The SQL While loop is used to repeatedly execute a certain piece of SQL script. SQL Whi ...

  7. sql中什么时候应用临时表_SQL数据仓库环境中的临时表应用程序

    sql中什么时候应用临时表 Today the subject of investigation is the Temporal Table, which is a new feature in SQ ...

  8. 解决数据倾斜一:RDD执行reduceByKey或则Spark SQL中使用group by语句导致的数据倾斜

    一:概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的 ...

  9. SQL Server附加数据库失败,823错误。

    SQL Server附加数据库失败,823错误. 服务器在正常运行的情况下突然断电,导致数据库文件严重损坏.附加或还原数据库无果,在附加数据库过程中出现823字样的错误. 查阅SQL server 联 ...

最新文章

  1. html整体垂直居中,htmlcss垂直水平居中
  2. 横向ListView(一) ——开篇,基础逻辑实现
  3. 微软研究院和清华大学联合发布 “开放学术图谱(OAG)2.0版本”
  4. 美国专利商标局发布人工智能专利扩散分析报告
  5. docker --restart=always 参数 docker重启容器自动重启
  6. python叫什么-python中什么叫类
  7. 问:一行Python代码到底能干多少事情?(三)
  8. wxWidgets:展示了如何在 wxWidgets 中使用 C++ 异常
  9. android 4.0以上WebView不能全屏播放视频的解决办法
  10. Android 短信解析
  11. 日历视图的XML属性
  12. 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)
  13. 借助 Cloud Toolkit 快速创建 Dubbo 工程
  14. matlab图像拼接_FPGA大赛【四】具体模块设计图像缓存
  15. 485有时候从机接收指令没反应_多动症儿童反应慢好几拍?神经递质释放速度太慢就会出现这种问题!科学训练高效提升孩子反应力!...
  16. 我的世界java8u101_jre8下载 Java SE Runtime Environment 8 9.0u101 多语言安装版 下载-脚本之家...
  17. NYOJ456andNYOJ325
  18. java获取中文首字母
  19. JavaFX示例--简易图片处理工具
  20. 【JavaSE】继承基本使用

热门文章

  1. 【python】腾讯云+python SDK免费发送短信
  2. Android_个人中心_修改个人信息
  3. NAND512W3A2SZA6E停产物料替代AFND1208U1-CKA
  4. 坦克世界未能连接至更新服务器,坦克世界连接到更新服务器失败,小猪教您怎么解决坦克世界连接到更新服务器...
  5. Python那些让我疑惑许久的代码--2
  6. 4-1 Aruba Central 云管理解决方案
  7. 关于knife4j工具聚合api文档的使用
  8. 数据库题:查出来既学了课程号1又学了课程号2的学生学号
  9. 进销存软件修改调整商品的成本(库存成本)
  10. 【考研英语语法】定语从句全面介绍