资讯详情

SQL附加的基本运算(更名运算、字符串运算)

目录

  • 更名运算
  • 字符串运算
  • select子句中的属性说明
  • 排列元组的显示顺序
  • where子句谓词

更名运算

除使用前缀名外,子句中的两种关系中可能存在同名属性,SQL它还提供了一种重命名结果关系中属性的方法,即使用子句:old_name as new_name可以出现子句也可以出现在句子中子句中。 ,改变结果关系中属性的名称:

select name as instructor_name ,teaches_name from instructor,teaches where instructor.ID = teaches.ID 

,用于重命名关系,重命名关系的一个原因是可以用短关系名代替长关系名,方便在查询句的其他地方使用:

select T.name,S.teaches_name from instruct as T,teaches as S where T.ID = S.ID 

另一个原因是,它适用于需要在同一关系中比较元组的情况。需要用重命名区分与自己的笛卡尔积计算关系:

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称为

字符串运算

  • SQL单引号用于识别字符串。如果字符串中有单引号,则用两个单引号字符表示,例如it's right可表示为it''s right

  • SQL标准中,字符串上的相等运算是大小写敏感的

  • SQL允许字符串上有多种函数,如串联("||")、提取子串,计算字符串长度,转换大小写(upper(s)lower(s))、去掉字符串后面的空格(srim(s)),等等

  • 百分号():匹配任何子串
  • 下划线():匹配任何字符
  • :匹配任何以"Intro"开头字符串
  • :任何包含的匹配"Comp"字符串
  • :匹配值包含三个字符的字符串(这里是三条连接的下划线)
  • :匹配至少三个字符
  • 反斜线(****):将转换字符放在特殊字符前,转换为普通字符 like的使用:
select dept_name from department where building like '%Comp' 
  • SQL还允许not like以及搜索不匹配项SQL:1999提供similar to,类似正则表达式的模式匹配能力更强,这里就不展开了

select子句中的属性说明

"*"用来在select所有属性都表示在句子中,select instructor.*为instructor所有属性都被选中,select *则为from所有属性都被选中

排列元组的显示顺序

order by默认升序可用于子句desc表示降序,或使用asc表示升序:

select * from instructor order by salary desc,name asc; 

where子句谓词

  • between说明一个值≤某个值同时≥另一个值 可以用where salary between 90000 and 100000 取代 salary <= 100000 and salary >= 90000 类似的,还有not between运算符

  • SQL允许用记号(v1,v2,v3,…,vn)表示一个分量为v1,v2,v3,…,vn的n维元组,按字典顺序进行比较运算,如(a1,a2)<=(b1,b2)在a1<=b1且a2<=b2时为真

select name,course_id
from instructor,teaches
where (instructor.ID,dept_name) = (teaches.ID,'Biology');
select name,course_id
from instructor,teaches
where instructor.ID = teaches.ID and dept_name = 'Biology';

上述两个例子相等

标签: srim2嵌入式微差压传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台