Orancle的SQL语句之多表查询和组函数
一、SQL的多表查询:
1、左连接和右连接(不重要一方加(+))
SELECTe.empno,e.ename,d.deptno,d.dname,d.locFROMempe,deptdWHEREe.deptno(+)=d.deptno;
(+)在等号左边是右连接,反之左连接。
2、交叉连接(CROSSJOIN产生笛卡尔积)
SELECT*FROMempCROSSJOINdept;
3、自然连接(NATURALJOIN)自动关联字段匹配
SELECT*FROMempNATURALJOINdept;
4、USING子句、直接关联操作列(不常用)
SELECT*FROMempeJOINdeptdUSING(deptno)WHEREdeptno=30;
5、ON子句、用户自己规定连接条件
SELECT*FROMempeJOINdeptdON(e.deptno=d.deptno)WHEREdeptno=30;
二、组函数:
1、常用:COUNT()MAX()MIN()AVG()SUM(),
使用条件,1、程序中存在GROUPBY,并且指定分组条件。2、单独使用分组函数除了相等条件分组函数使用HAVING条件。
公式:
SELECT{DISTINCT}列FROM表{WHERE(s)}{GROUPBY{HAVING分组条件}}{ORDERBY排序字段ASC|DESC,排序字段ACS|DESC,…}
分组:一列上有重复内容,可以嵌套使用
=ANY等于IN比最大值要小、>ALL比最大值大、 事务操作(执行以及回滚) 2、对表的操作 插入:CREATETABLEmyempASSELECT*FROMemp;(创建备份表) 更新:UPDATE表名SETsal=5000WHEREempno=7899; 删除:DELETEFROM表名WHERE条件; 总结 以上所述是小编给大家介绍的Orancle的SQL语句之多表查询和组函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
INSERTINTO表名(字段)values(TO_DATE('2009-01-16','yyyy-mm-dd')
DROPTABLEbookCASCADECONSTRAINT;强制删除