【Oracle数据库】限制数据和对数据排序

来源:互联网 发布:大学生网络课程答案 编辑:程序博客网 时间:2024/05/19 20:40
  • 选择限定数据行

    • 使用WHERE子句可以返回限定的数据行,WHERE子句紧跟在FROM子句之后
    • WHERE子句的语法:
      SELECT [DISTINCT] {*|列名|表达式 [列别名] [,...]}FROM 表名[WHERE 条件表达式]
    • 条件表达式通常格式为:列名 比较操作符 要比较的值
    • 比较操作符操作符含义=等于>大于>=大于或等于<小于<=小于或等于<>不等于
  • 使用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 1500
    • IN(集合列表)运算符

      • 判断要比较的值是否和集合列表中的任何一个值相等
        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,整个表达式的结果就为TRUE
        SELECT empno,ename,job,salFROM empWHERE sal>=1100OR job='CLERK'
    • 逻辑非(NOT)

      • 对条件表达式取反,TRUE取反为FALSE,FALSE取反为TRUE
      • NOT运算符可以和特殊比较运算符一起使用
        • NOT BETWEEN...AND...
        • NOT IN
        • NOT LIKE
        • IS NOT NULL
        SELECT ename,jobFROM empWHERE job NOT IN ('CLERK','MANAGER','ANALYST')
    • 运算符的优先级

      • 括号“()”优先于其他操作符优先级运算分类运算符举例1算术运算符+,-,*,/2连接运算符||3比较运算符=,>=,>,<=,<,<>4特殊比较运算符BETWEEN...AND...,IN,LIKE,IS NULL5逻辑非NOT6逻辑与AND7逻辑或OR
  • ORDER BY子句

    使用ORDER BY子句能对查询结果集进行排序
    • ORDER BY子句语法

      SELECT [DISTINCT] {*|列名|表达式 [列别名] [,...]}FROM  表名[WHERE 条件表达式][ORDER BY {列名|表达式|列别名|列序号} [ASC|DESC] [,...]]
      • 对结果集可以按照列名、列别名、表达式、结果集的列序号排序
        • 参与排序的多列都可以指定升序或者降序,并且第一个排序项是主要的排序依据,其次那些是次要的排序依据
        • ORDER BY子句中可以写没在SELECT 列表中出现的列
      • ASC:升序,默认值|DESC:降序
      • ORDER BY子句必须写在SELECT语句的最后
    • 排序规则

      • 数字升序按照数字由小到大排列,降序反之
      • 日期升序按照日期由先到后排列,降序反之
      • 字母升序按照由A到Z排列,降序反之
      • 中文升序按照字典顺序排列,降序反之
      • 空值在升序排列中排在最后,在降序排列中排在最开始
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 行驶证副本丢了怎么办 眼睛进了石灰粉怎么办 高铁网上没票了怎么办 限行尾号是字母怎么办 手指被刺扎肿了怎么办 手上进了小刺怎么办 招投标标书丢了怎么办 冒险岛2装备红了怎么办 宝宝屁股腌红了怎么办 宝宝肛门红痒怎么办啊 宝宝屁屁溃烂了怎么办 脸过敏起红疙瘩怎么办 一岁宝宝屁股红怎么办 屁眼肉凸出来了怎么办 陶笛声音变闷了怎么办 吃三七粉上火了怎么办 红枣核吞下去了怎么办 话梅核吞下去了怎么办 芒果和海鲜吃了怎么办 小孩咳嗽喉咙有痰怎么办 4岁宝宝喉咙有痰怎么办 20天新生儿有痰怎么办 孩子嗓子老是有痰怎么办 买的哈密瓜不甜怎么办 吉他琴颈变形了怎么办 hcg值长得慢怎么办 蚊子老在耳边叫怎么办 刚买来的鲜海参怎么办 天冷手指关节疼怎么办 未满一年驾龄上高速违章怎么办 榴莲太生剥开了怎么办 榴莲开了没熟怎么办 榴莲打开了没熟怎么办 榴莲开口了没熟怎么办 榴莲没熟打开了怎么办 不熟的榴莲没熟怎么办 打开的榴莲没熟怎么办 开了的榴莲没熟怎么办 榴莲剥出来没熟怎么办 榴莲剥开了没熟怎么办 榴莲买回来没熟怎么办