SELECT [DISTINCT] {*|列名|表达式 [列别名] [,...]}FROM 表名[WHERE 条件表达式]条件表达式通常格式为:列名 比较操作符 要比较的值比较操作符
操作符 | 含义 |
---|---|
= | 等于 |
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
<> | 不等于 |
SELECT ename,job,deptnoFROM empWHERE deptno=20比较字符型数据
SELECT ename,job,deptnoFROM empWHERE job='CLERK'字符型数值作为被比较的值时,必须用单引号引起来字符型数值区分大小写比较日期型数据
SELECT ename,hiredate,deptnoFROM empWHERE hiredate>'01-1月-85'日期型数据作为被比较的值时,必须用单引号引起来字符型数值是区分日期表达形式的,默认的日期形式是DD-MON-RR特殊比较运算符
BETWEEN…AND…运算符
判断要比较的值是否在某个范围内SELECT ename,salFROM empWHERE sal BETWEEN 1000 AND 1500IN(集合列表)运算符
判断要比较的值是否和集合列表中的任何一个值相等SELECT empno,ename,sal,mgrFROM empWHERE mgr IN (7902,7566,7788)LIKE运算符
判断要比较的值是否满足部分匹配,也叫模糊查询,需要使用通配符在字符串内查找指定的模式SELECT enameFROM empWHERE ename LIKE '_L%'%:模糊查询的通配符,代表任意数量的字符_:模糊查询的通配符,代表一个字符可以使用ESCAPE标识符实现对“%”和“_”的查找--查询JOB以“MAN_”开头的雇员信息SELECT ename,jobFROM empWHERE job LIKE 'MAN@_%' ESCAPE '@'IS NULL运算符
判断要比较的值是否为空值NULL空值从技术上来说就是未知的、不确定的值,与空字符串不同,空字符串是长度为0的字符串因为空值代表的是未知的值,所以不能直接用“=”运算符判定两个空值是否相等SELECT ename,mgrFROM empWHERE mgr IS NULL逻辑运算符
逻辑运算符
当需要和多个条件表达式进行比较时,需要使用逻辑运算符把多个表达式连接起来,逻辑表达式的结果未TRUE、FALSE、NULL逻辑与(AND)
连接多个条件表达式,如果每个条件表达式的结果都为TRUE,整个表达式的结果才为TRUE可以使用“AND”运算符加“比较运算符”来代替“BETWEEN...AND...”SELECT empno,ename,job,salFROM empWHERE sal>=1100AND job='CLERK'逻辑或(OR)
连接多个条件表达式,只要有一个条件表达式的结果为TRUE,整个表达式的结果就为TRUESELECT empno,ename,job,salFROM empWHERE sal>=1100OR job='CLERK'逻辑非(NOT)
对条件表达式取反,TRUE取反为FALSE,FALSE取反为TRUENOT运算符可以和特殊比较运算符一起使用NOT BETWEEN...AND...NOT INNOT LIKEIS NOT NULLSELECT ename,jobFROM empWHERE job NOT IN ('CLERK','MANAGER','ANALYST')运算符的优先级
括号“()”优先于其他操作符
优先级 | 运算分类 | 运算符举例 |
---|---|---|
1 | 算术运算符 | +,-,*,/ |
2 | 连接运算符 | || |
3 | 比较运算符 | =,>=,>,<=,<,<> |
4 | 特殊比较运算符 | BETWEEN...AND...,IN,LIKE,IS NULL |
5 | 逻辑非 | NOT |
6 | 逻辑与 | AND |
7 | 逻辑或 | OR |
SELECT [DISTINCT] {*|列名|表达式 [列别名] [,...]}FROM 表名[WHERE 条件表达式][ORDER BY {列名|表达式|列别名|列序号} [ASC|DESC] [,...]]对结果集可以按照列名、列别名、表达式、结果集的列序号排序参与排序的多列都可以指定升序或者降序,并且第一个排序项是主要的排序依据,其次那些是次要的排序依据ORDER BY子句中可以写没在SELECT 列表中出现的列ASC:升序,默认值|DESC:降序ORDER BY子句必须写在SELECT语句的最后排序规则
数字升序按照数字由小到大排列,降序反之日期升序按照日期由先到后排列,降序反之字母升序按照由A到Z排列,降序反之中文升序按照字典顺序排列,降序反之空值在升序排列中排在最后,在降序排列中排在最开始
新闻热点
疑难解答