一、利用SQL语言进行基本查询
1.结果排序问题
DBMS可以对检索结果进行排序,可以升序排列,也可以降序排列。
- Select语句中结果排序是通过增加order by 子句实现的
oder by 列名 [asc | desc] - 意义为检索结果按指定列名进行排序,若后跟asc或省略,则为升序;若后跟desc,则为降序。
示例:
2.模糊查询问题
比如检索姓张的学生,检索张某某;这类查询问题,Select语句是通过在检索条件中引入运算符like来表示的。
1.含有like运算符的表达式:
列名 [not]like “字符串”
2.找出匹配的·给定字符串的字符串。其中给定字符串中可以出现%,,等匹配符。
3.匹配规则:
- “%” 匹配零个或多个字符
- “-” 匹配任意单个字符
- “\” 转义字符,用于去掉一些特殊字符的特定含义,使其被作为普通字符看待,如用“%”去匹配字符%,用_去匹配字符。
二、利用SQL语言进行多表联合查询
1.多表联合查询
多表联合查询可以通过连接运算来完成,而连接运算又可以通过广义笛卡尔积后再进行选择运算来实现。
- Select 的多表联合检索语句
Select 列名 [[,列名]…]
From 表名1,表名2,…
Where 检索条件; - 检索条件中要包含连接条件,通过不同的连接条件可以实现等值连接,不等值连接及各种θ-连接。
1.1.θ-连接之等值连接
例:
1.2.重名之处理
连接运算涉及到重名的问题,如两个表中的属性重名,连接两个表重名(同一表的连接)等,因此需要使用别名以便区分。
- select 中采用别名的方式
Select 列名 as 列别名[[,列名 阿是列别名 ]…]
From 表名1 as 表别名 ,表名2 as 表别名2,…
Where 检索条件; - 上述定义中的as可以省略
- 例: