SQL初学学习笔记(一)
来源:互联网 发布:织梦ajax提交表单 编辑:程序博客网 时间:2024/05/17 17:56
SQL初学
印象中只记得SELECT FROM WHERE,此次学习中记录遇到的一些执行的实际问题:
- 运行环境:
- OS:windows 10
- 数据库为ORACLE 11g
一、检索返回指定行的相关问题:
ROWNUM 是否可以大于某值
ORACLE下
SELECT prod_name
FROM ProductsWHERE ROWNUM >=5;
实际有9列,但未报错,提示0 rows selected
SELECT prod_name
FROM ProductsWHERE ROWNUM<=5;
实际有9列,提示5 rows selected
那如何解决大于等于5行的筛选呢?
原因是由于rownum是一个总是从1开始的伪列,Oracle 认为rownum> n(n>1的自然数)依旧不成立,所以查不到记录。
1.要把ROWNUM先提取出来,再筛选
SELECT prod_name
FROM(
SELECT prod_name ,ROWNUM no_t1
FROM Products
)
WHERE no_t1>=5
2.要不就是用函数 ROW_NUMBER()OVER(ORDER BY prod_name)SELECT prod_nameFROM(SELECT prod_name , ROW_NUMBER() OVER(ORDER BY prod_name) no_t1FROM Products)WHERE no_t1>=5注意: ROW_NUMBER() OVER(ORDER BY 列名) 这个函数用于排序后返回唯一的列名;那如何解决小于8大于5行的筛选呢?SELECT prod_nameFROM(SELECT prod_name , ROW_NUMBER() OVER(ORDER BY prod_name) no_t2FROM ProductsWHERE ROWNUM <8 --(注意不要写成no_t2))WHERE no_t2>5
留待下次的解决的问题:
1.ROW_NUMBER()OVER函数的详解;
2.高性能的查询某行到某行间的查询方式;
0 0
- SQL初学学习笔记(一)
- SQL初学学习笔记(二)
- 初学ibatis 学习笔记一
- 初学Oracle PL/SQL 【笔记一】
- SQL学习笔记(一)
- SQL学习笔记(一)
- sql学习笔记(一)
- sql学习笔记(一)
- SQL学习笔记(一)
- SQL学习笔记(一)
- sql学习笔记(一)
- SQL学习笔记(一)
- SQL学习笔记(一)
- linux学习笔记之(一)--初学linux
- 初学Python笔记(一)
- 初学MySQL笔记(一)
- jQuery 初学笔记(一)
- Python初学笔记(一)
- UVA 103 (Stacking Boxes)
- VOFM、Copy Control与合并开票
- 微信oauth2.0报错,Scope参数错误或没有Scope权限
- java15天
- java调用SQLSERVER时间参数问题
- SQL初学学习笔记(一)
- java中Comparable接口(比较器)的使用
- Thinkpad E500在UEFI+GTP分区方案U盘安装Windows Server 2008 R2
- EL表达式手册
- PHP对编码的常用处理函数
- Eclipse配置(Mac版)
- C++ bitset类的使用与简介
- js中创建form表单
- 在MVC中处理异常的总结