select 查询语句的小尾巴~~~…

从表中检索信息使用SELECT查询语句。
1,对单表执行select语句 

select 列名[,列名…] 

from 表名


2,如果选择输出一个表中的所有列,可使用*号:
select * from 表名

3,如果进行有条件检索,则使用where子句过滤行
select 列名[,列名…] 
from 表名 

where 过滤条件

eg:
select customer_id, first_name ,last_name from custoners where_id=2;

4,在Oracle中,每行记录都有一个行标识符,其列名为rowid
行标识符(rowid)列存储了该行记录的物理存储位置。rowid可用在select语句中,显示的结果是采用base-64编码的18位字符。rowid列通常称为伪列。所谓伪列,是指它可用select查询,但实际并未存储在表中,它是由数据库管理系统额外提供的一个列,该列不能插入、更新和删除。
eg

AAAAM1TAAAEAAAAGOAAC(伪列) 3 JIM WHITE 9OOOOO

此外还有rownum

000000 01  1010 0111 11 111100  000000 00

(A~Z,a~z,0~9,+,/)

5,行号rownum也是一个伪列,它返回每一行在结果集中的行号。


6,select子句中可使用算术表达式进行算术运算,包括加减乘除四则运算。

eg:
select p.* from products p; 命名products别名p
select p.*, p.price*0.85 from products p;价格进行折扣计算




7,使用as关键字为列指定别名。如果别名中含有空格,可使用双引号将别名引起来。

select 'role_04' as role_id, 'normal' as role_category from dual  

8,字符串连接运算符||

检索顾客信息,输出时将first_name和last_name连接为一个字符串

9,空值
  空值表示该列的值未知。
可在where子句中使用IS NULL过滤出具有空值的行。

注:不能使用=NULL进行判断,因为空值和任何值的比较结果都是false。但是 1=1 为true 用处很多

可在select子句中使用NVL(表达式,value)函数,当表达式为空值时,返回value值。

 select customers_id, nvl(phone, '9999999')from customers;
如果phone的值为空 则插入9999999
注 依然可以用逗号隔开同时为两个关键字的值赋值

10,使用DISTINCT禁止显示重复行

select distinct (product_type_id) from products;
选取列中的数值 且每个数值唯一

11,比较操作符
=,<>, !=,< ,> ,<= ,>=,ANY,SOME,ALL
等于 ,不等于,不等于
select *from customers where customer_id <>2;

使用ANY将一个值和列表中的值进行比较,只要有一个值满足条件,则输出该条记录;
使用ALL将一个值和列表中的值进行比较,在所有值都满足条件后才输出该条记录。
ANY和SOME具有相同的功能,但ANY更容易理解,语义更明确,应该使用ANY代替SOME。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值