从删库到跑路(3)

附加的基本运算:

1- 更名运算

试用场景:

  • 表关系中属性重名

  • 把一个长的关系名替换成短的
    这里会用到的SQL关键字是as,比如说,用d_name替换dept_name,可以用select dept_name as d_name from instructor where id>=10211;

2- 字符串运算

在SQL中,用一对单引号来标识字符串,如果单引号本身也是字符串的一部分,那就用两个单引号来表示。

在字符串上可以用like操作符来实现模式匹配,我们使用2个特殊的字符来描述模式:

  • %:匹配任意子串
  • _ : 匹配单个字符

模式是大小写敏感的,也就是说,大写字符与小写字符是不匹配的。比如说:

  • ‘Intro%’: 匹配以Intro打头的字符串
  • ‘%Comp%’:匹配任何包含Comp的字符串
  • ‘_ _ _’: 匹配任意3个字符串
  • ‘_ _ _%’:匹配至少含有3个字符的字符串

SQL允许定义转义字符,转义字符直接放在特殊字符的前面,表示该特殊字符被当成普通字符; 我们在like比较运算中使用escape关键字来定义转义字符,它使用()作为转义字符

  • like ‘ab%cd%’ escape ‘’ :匹配所有以“ab%cd”开头的字符串
  • like ‘ab\ \cd%’: 匹配所有以’ab \ cd’ 开头的字符串
    SQL还允许使用not like比较运算符搜寻不匹配的项。

3- where子句谓词
为了简化where子句,SQL提供between比较运算符来说明一个值是小于等于某个值,同时又是大于等于另一个值。比如,我们想找出工资在9000到12000之间的的教师的名字:select name from instructor where salary between 9000 and 12000;它可以取代 select name from instructor where salary <=12000 and salary >=9000;
类似的,我们还可以用not between比较运算符

展开阅读全文

没有更多推荐了,返回首页