SQL一
来源:互联网 发布:不基于比较的排序算法 编辑:程序博客网 时间:2024/05/16 13:42
SQL语句一
1. 检索不同的值
Distinct
Select distinct vend_id from Products;
分析:select distinct vend_id告诉DBMS只返回不同(具有唯一性)的vend_id行。
警告:不能部分使用distinct
Distinct关键字作用于所有的列,不仅仅是跟在其后的那一列。例如,你指定select distinct vend_id,prod_price ,除非指定的两列完全相同,否则所有的行都会被检索出来。
2. 限制结果
Select语句返回指定表中所有匹配的行,很可能是每一行。如果你只想返回第一行或者一定数量的行,这是可行的,然而遗憾的是,各种数据库中的这一SQL实现并不相同。
在SQL Server和Access中使用select时,可以使用top关键字来限制最多返回多少行,在Oracle中不适用。
在SQL Server和Access中使用select:
Select top 5 prod_name from Products;
在DB2:
Select prod_name from Products fetch first 5 rows only;
在Oracle:
Select prod_name from Products where rownum <= 5;
在MySQL,MariaDBA,PostgreSQL,SQLite
Select prod_name from Products limit 5;
3. 按多个列排序
经常需要按不止一个列进行数据排序。例如,如果要显示雇员名单,可能希望按姓和名排序(首先先按姓排序,然后在每个姓中再按名排序)。
下面的代码检索三个列,并按其中两个列对结果进行排序—首先按价格,然后按名称排序 Select prod_id,prod_price,prod_name from Products order by prod_price,prod_name; 也可以按照列位置排序 select t.name,t.book_no from d401 t order by 1,2; 这样查的结果集都是一样。 如果select t.name from d401 t order by 2;这样的查询就是错误的会报错。 注:当order by与where同时出现时,order by位于where之后。
4. 范围值检查
要检查某个范围的值,可以使用between操作符,其语法与其他的where子句的操作符稍有稍有不同,因为它需要两个值,即范围的开始值和结束值。
select t.office_date from d504 t where to_char(t.office_date,’yyyy-mm-dd’) between ‘2016-01-01’ and ‘2016-03-31’ order by t.office_date;–date范围
select prod_name,prod_price from Products where prod_price between 5 and 10;–number范围
其实between…and…与>= and <=类似,结果值是一样的。
5. 空值检查
在创建表时,表设计人员可以指定其中的列能否不包含值。在一个列不包含值时,称其空值null。
Null(no value),它与字段包含0,空字符串或仅仅包含空格不同。
确定值是否为null,不能简单的检查是否= null,而是is null。
Select prod_name from Products where prod_price is null;
这条语句返回所有没有价格的(空prod_price字段,不是价格为0)产品。
- SQL(一)
- SQL一
- SQL 一句sql 分页
- 一sql 语句
- SQL Server --> Oracle (一)
- SQL基础一
- 动态SQL 实践一:
- 求一sql语句
- SQL注入一
- SQL面试题 (一)
- sql习题一
- SQL错讯(一)
- 一SQL题
- SQL优化(一)
- SQL查询(一)基础
- SQL语句积累(一)
- SQL主要内容(一)
- SQL学习笔记(一)
- RxJava的几个操作符和应用场景
- 邮箱发邮件代码示例
- S5pv210uboot启动第一阶段分析之地址重定位和跳转。
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
- dataGridView修改完数据后,滚动条位置不变,强制选择当前行
- SQL一
- 七,redis集群
- Spring定时任务不执行的解决
- Json键值对
- 用ajax技术实现 无刷新实现用户登录
- Leetcode-96.Unique Binary Search Trees
- 录制视频(Surfaceview+MediaRecorder)
- BigDecimal类的加减乘除
- DRX不连续接收(2)-寻呼Paging