PL-SQL温习

简介: 1.SELECT PRODUCT_NAME, PRODUCT_PRICE*0.8 FROM PRODUCT 此处可以直接用乘法,取出的是打折后的价格 --------------------------------------------------------------------------------------------------------------- 2.

1.SELECT PRODUCT_NAME, PRODUCT_PRICE*0.8 FROM PRODUCT

此处可以直接用乘法,取出的是打折后的价格

---------------------------------------------------------------------------------------------------------------

2.select user_name,to_char(sysdate,'YYYY')-to_char(user_birthday,'YYYY') as user_age from user

此处可以用to_char函数计算出日期的年部分,然后相减得出用户的年龄

---------------------------------------------------------------------------------------------------------------

3.select user_birthday from user where between '1-1-83' and '1-1-84'

检索生日大于83年1月1日,且小于84年1月1日的;与之相反,not between ... and ...则是大于等于下限值,小于等于上限值

---------------------------------------------------------------------------------------------------------------

4.通配符

_:一个下划线表示任意单个字符

%:表示任意多个字符(含0个字符)

[abc]或[a-c]:属于字符集合中的任意一个字符

[^abc]或[^a-c]:不属于字符几何中的任意一个字符

---------------------------------------------------------------------------------------------------------------

5.空值判断

is null不能用 = null  来代替;null也不等于''

---------------------------------------------------------------------------------------------------------------

6.rownum

select * from user where rownum <= 10

查询前10条;rownum是从1开始的!

---------------------------------------------------------------------------------------------------------------

7.group by

select categroy_id , count(product_id) from product group by category_id

一般group by 都会跟着统计函数在一起  如:count(...)

---------------------------------------------------------------------------------------------------------------

8.having

select categroy_id , count(product_id) from product group by category_id having count(product_id)>10

对分组的数据进行过滤,不能使用where子句,因为where子句在分组之前执行过滤,having子句在分组之后执行过滤

---------------------------------------------------------------------------------------------------------------

9.exists

select product_id from product where exists ( select * from important_product )

exists返回的是一个逻辑值;与之相反是not exists

---------------------------------------------------------------------------------------------------------------

10.All与any

select  price from product where price < all ( select price from important_product)

< all小于子查询结果集中的最小值

> all大于子查询结果集中的最大值

> any 大于子查询结果集中的最小值

< any 小于子查询结果集中的最大值

---------------------------------------------------------------------------------------------------------------

其他容易记住的就不一一列出了

目录
相关文章
|
25天前
|
SQL Perl
PL/SQL经典练习
PL/SQL经典练习
13 0
|
11月前
|
SQL 存储 Oracle
PL/SQL编程-介绍
PL/SQL编程-介绍
110 0
|
11月前
|
SQL Perl
PL/SQL编程—函数
PL/SQL编程—函数
47 0
|
11月前
|
存储 SQL Oracle
PL/SQL编程—存储过程
PL/SQL编程—存储过程
84 0
|
存储 SQL Perl
PL/SQL经典练习5
PL/SQL经典练习5
94 0
|
存储 SQL Perl
PL/SQL经典练习4
PL/SQL经典练习4
82 0
|
存储 SQL Perl
PL/SQL经典练习3
PL/SQL经典练习3
72 0
|
存储 SQL Perl
PL/SQL经典练习2
PL/SQL经典练习2
91 0
|
SQL 存储 关系型数据库
《SQL必知必会》读书笔记,30分钟入门SQL!(四)
本篇文章是 《SQL 必知必会》 的读书笔记,SQL必知必会的英文名叫做 Sams Teach Yourself in 10 Minutes。但是,我肯定是不能够在10分钟就能学会本书所有涉及到的sql,所以就起个名字叫30分钟学会SQL语句。 目前手边的数据库是 mysql,所以以下示例均是由 mysql 演示。由于现在大部分工具都支持语法高亮,所以以下关键字都使用小写。
《SQL必知必会》读书笔记,30分钟入门SQL!(四)
|
存储 SQL NoSQL
《SQL必知必会》读书笔记,30分钟入门SQL!(一)
本篇文章是 《SQL 必知必会》 的读书笔记,SQL必知必会的英文名叫做 Sams Teach Yourself in 10 Minutes。但是,我肯定是不能够在10分钟就能学会本书所有涉及到的sql,所以就起个名字叫30分钟学会SQL语句。 目前手边的数据库是 mysql,所以以下示例均是由 mysql 演示。由于现在大部分工具都支持语法高亮,所以以下关键字都使用小写。