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

来源:互联网 发布:小牛学堂大数据怎么样 编辑:程序博客网 时间:2024/04/30 09:58

从表中检索信息使用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