美文网首页《IT藏经阁》
限制数据和数据排序

限制数据和数据排序

作者: 辽A丶孙悟空 | 来源:发表于2019-02-15 12:07 被阅读47次
一、选择限定数据行
  • 选择限定数据行的作用

将需要检索的数据从所有数据中进行分离,

  • 例如:在员工表中检索所有在10部门的员工
  • 选择限定数据行的语法
  • 使用WHERE子句可以返回限定的数据行
  • 语法:
SELECT [DISTINCT] {* | column | expression…}
FROM  table
WHERE  condition(s)
  • WHERE子句紧跟在FROM子句之后
  • condition(s)表示条件表达式,
    通常格式为:列名 比较操作符 要比较的值
  • 比较操作符

比较操作符:
= > >= < <= <>(!=)
等于 大于 大于等于 小于 小于等于 不等于

二、使用WHERE子句
  • 比较数值型数据
  • 例如:
SELECT ename,job,deptno
FROM emp
WHERE deptno = 10;
  • 比较字符型数据
  • 字符型数据作为被比较的值时,必须用单引号引起来
  • 字符型数据区分大小写
  • 例如:
SELECT ename,job,deptno
FROM emp
WHERE job = 'CLERK';
  • 比较日期型数据
  • 日期型数据作为被比较的值时,必须使用单引号引起来
  • 日期型数据是区分日期的表达形式的,默认的日期形式DD-MM-YY
  • 例如:
SELECT ename,job,deptno
FROM emp
WHERE hiredate >'01-1月-85';
三、特殊比较运算符
  • BETWEEN..AND..运算符
  • 表示:判断要比较的值是否在某个范围内
  • 例如:
SELECT ename,sal
FROM emp
WHERE sal BETWEEN 1000 AND 1500;
  • IN(集合列表)运算符
  • 表示:判断要比较的值是否和集合列表中的任何一个值相等
  • 例如:
SELECT empno,ename,sal,mgr
FROM emp
WHERE mgr IN( 7902, 7566,7788);
  • LIKE运算符
  • 表示:判断要比较的值是否满足部分匹配,也叫模糊查询。模糊查询中有两个通配符
  • % 代表零或任意更多的字符
  • _ 代表一个字符
    单独使用:
  • 例如:
SELECT ename 
FROM emp
WHERE ename LIKE 'S%';

组合使用:

  • 例如:
SELECT ename 
FROM emp
WHERE ename LIKE '_L%';
  • 可以使用ESCAPE标识实现对“%”和“_”的查找
  • 例如:查询JOB以“MAN_”开头的雇员信息
SELECT ename,job
FROM emp
WHERE job LIKE 'MAN@_%' ESCAPE '@';
  • IS NULL运算符
  • 表示:判断要比较的值是否为空值NULL
  • 例如:
SELECT ename,mgr
FROM emp
WHERE mgr IS NULL;
四、逻辑运算符

当需要和多个条件表达式进行比较时,需要使用逻辑运算符把多个表达式连接起来,逻辑运算符包括AND、OR、NOT,逻辑表达式的结果为TRUE,FALSE,NULL。

  • 逻辑与(AND)

用来连接多个条件表达式。如果每一个条件表达式的结果都为TRU个表达式的结果才为TRUE。

  • AND:要求两个条件都为真,结果才为真。
  • 例如:
SELECT empno,ename,job,sal
FROM emp
WHERE sal >= 1100
AND job = 'CLERK';   
  • 逻辑或(OR)

用来连接多个条件表达式。只要有一个条件表达式的结果为TRUE,整个表达式的结果就为TRUE。

  • OR:只需要两个条件中的一个为真,结果就返回真。
  • 例如:
SELECT empno,ename,job,sal
FROM emp
WHERE sal >= 1100
OR job = 'CLERK';  
  • 逻辑非(NOT)

用来对条件表达式取反。TRUE取反为FALSE,FALSE取反为TRUE。

  • NOT运算符还可以和BETWEEN…AND、LIKE、IS NULL一起使用
  • WHERE deptno NOT IN (10,20)
  • WHERE sal NOT BETWEEN 3000 AND 5000
  • WHERE ename NOT LIKE ‘ D% ’
  • WHERE mgr IS NOT NULL
  • 例如:
SELECT ename,job
FROM emp
WHERE job NOT IN ('CLERK' ,'MANAGER','ANALYST');
  • 运算符的优先级

括号的优先级高于其他操作符,可以强制改变优先权。

  • 优先级顺序如下:
    算术运算符> 连接运算符>比较运算符>特殊比较运算符>逻辑非>逻辑与>逻辑或
  • 例如1:
SELECT ename,job,sal
FROM emp
WHERE job = 'SALESMAN'
OR job = 'PRESIDENT'
AND sal > 1500;
  • 例如2:
SELECT ename,job,sal
FROM emp
WHERE (job ='SALESMAN'
OR job = 'PRESIDENT')
AND sal > 1500;

注意比较结果有什么不同

五、ORDER BY 子句
  • 使用ORDER BY子句
  • 使用ORDER BY子句能过对查询结果集进行排序,语法结构如下:
  • 语法:
SELECT  [DISTINCT] {* | column | expression…}
FROM  table
WHERE  condition(s)
ORDER  BY {列名|表达式|列别名|列序号} [ASC | DESC]
  • 可以按照列名,表达式,列别名,结果集的列序号排序
  • ASC:升序,默认值
  • DESC:降序
  • ORDER BY 子句必须写在SELECT语句的最后
  • 排序规则(以升序为例)
  • 数字升序排列小值在前,大值在后。即按照数字大小顺序有小到大排序。
  • 日期升序排列相对较早的日期在前,较晚的日期在后。例如:‘01-SEP-06’在‘01-SEP-07’前。
  • 字符升序排列按照字母由小到大的顺序排列。即由A-Z排序;中文升序按照字典顺序排序。
  • 空值在升序排列中排在最后,子降序排列中排在最开始。

1> 按照列名排列

  • 例如1:
SELECT ename,deptno,sal,hiredate
FROM emp
ORDER BY hiredate;
  • 例如2:
SELECT ename,deptno,sal,hiredate
FROM emp
ORDER BY hiredate DESC;
//注意:默认的情况下是升序

2>按照列别名排序

  • 例如:
SELECT ename,deptno,sal*12 AS annsal
FROM emp
ORDER BY annsal;

3>多列参与排序

  • 参与排序的多列都可以指定升序或者降序
  • ORDER BY子句中可以写没在SELECT列表中出现的列
  • 例如:
SELECT ename,deptno,sal
FROM emp
ORDER BY deptno,sal DESC;

4>按照结果集序列号排序

  • ORDER BY子句后列名可以用数字来代替,这个数字是SELECT语句后列的顺序号。
  • 例如:
SELECT ename,deptno,sal
FROM emp
ORDER BY 2,3 DESC;

相关文章

  • 限制数据和对数据排序

    Mysql 课后习题 sql

  • 限制数据和数据排序

    一、选择限定数据行 选择限定数据行的作用 将需要检索的数据从所有数据中进行分离,例如:在员工表中检索所有在10部门...

  • 八、外部排序

    八、外部排序 前面第七章介绍了内部排序需要把待排序数据全部放入内存中,然后再排序。这就限制了待排序数据的规模。当数...

  • SQL之DQL

    DQL用于从数据库查询数据,并不会修改数据 基本查询 条件控制 查询排序 分组查询 limit限制 一.基本查询 ...

  • 2019-04-28 冒泡、选择、插入排序核心代码

    选择排序和冒泡排序与数据状况无关,无论数据是否有序,都需要按部就班地完成排序;而插入排序与数据状况有关,若给定数据...

  • 排序算法总结

    排序算法 排序算法可以分为内部排序和外部排序 内部排序:数据记录在内存中进行排序。 外部排序:排序的数据很大,排序...

  • 常见的排序算法

    概述 排序分为内部排序和外部排序: 内部排序:数据记录在内存中进行排序 外部排序:排序的数据很大,一次不能容纳全部...

  • SQL语句整理

    显示 创建表和数据库 数据类型 插入行 查询 普通查询 条件查询 排序 限制条数 多表联合查询 更新(替换) 删除...

  • 排序算法之插入排序

    排序原理: ①将数据分为已排序和未排序两部分。②将未排序数据第一个插入 到已排序数据中的合适位置③倒序遍历已排序...

  • 八大排序

    八大排序 - Shuai-Xie - Github 内部排序和外部排序 内部排序数据少,数据记录在内存中进行排序,...

网友评论

    本文标题:限制数据和数据排序

    本文链接:https://www.haomeiwen.com/subject/ttdpeqtx.html