rownum注意事项:
rownum=1可以 ,rownum<N,大于 m没有结果集。如何规避,使用子查询形成别名列。然后再外层查询该列。
rownum=3
SQL操作符:
1.算术操作符:+(加),-(减),*(乘)和/(除).
2.比较操作符:=,!=,<,>,<=,>=,BETWEEN...AND(检查是否在两个值之间),IN(与列表中的值相匹配),LIKE(匹配字符模式)和IS NULL(检查是否为空).
3.逻辑运算符:AND(与),OR(或),NOT(非).
4.集合操作符:UNION(联合):操作符返回两个查询选定的所有不重复的行.
. UNION ALL(联合所有):操作符合并两个查询选定的所有行
INTERSECT(交集):操作符只返回两个查询所有行
MINUS(减集):操作符只返回由第一个查询选定而未被第二个查询选定的行.
5.连接操作符:连接操作符(||)用于将两个或多个字符串合并成一个字符串,或者将一个字符串与一个数值合并在一起.
用户A(Scott)去访问用户B(happyy2165) 里面的student包
Oracle三大系统角色
connect
resource
dba
Oracle三大系统角色
connect
resource
dba
方案一:直接授权法
1.用happyy2165登录,之后,授权
grant select on HAPPYY2165.STUDENT to scott
2.用scott登录,用如下代码去访问Student表
select * from HAPPYY2165.student
方式二:通过角色去控制
1.自定义角色 role_testy2165 create role role_testy2165
2.将查询表的权限和角色绑定
1.用happyy2165登录,之后,授权
grant select on HAPPYY2165.STUDENT to scott
2.用scott登录,用如下代码去访问Student表
select * from HAPPYY2165.student
方式二:通过角色去控制
1.自定义角色 role_testy2165 create role role_testy2165
2.将查询表的权限和角色绑定
GRANT select on HAPPYY2165.STUDENT to role_testy2165
3.给用户分配角色
grant role_testy2165 to SCOTT
3.给用户分配角色
grant role_testy2165 to SCOTT
revoke select on HAPPYY2165.student from SCOTT 回收权限
解锁用户:(首先修改一下密码)
alter user HR identified by hr
alter user hr account unlock
删除重复数据,保留编号最大的一条数据:
DELETE FROM STUDENT WHERE stuno NOT IN
(
SELECT "MAX"(stuno) FROM STUDENT GROUP BY stuname,stuage
)