5个SQL核心
时间:2022-03-10 17:42
处理联结语句的顺序-GROUP BY子句-HAVING子句HAVING子句将分组汇总后的查询结果限定为只有该子句中的条件为真的数据行。它和GROUP BY位置可互换,但逻辑上是GROUPBY子句先执行。本质上看,HAVING子句是在GROUPBY子句执行后用来筛选汇总值的第二个WHERE语句。对结果集过滤。*HAVING子句后只能接分组运算限定条件-SELECT列表列出查询的返回最终结果集中需要显示哪些列。可以是数据表中的一个实际列、一个表达式,甚至是一个SELECT语句的结果。eg:selectc.customer_id,c.customer_first_name||‘‘||c.customer_last_name,(select e.last_name from hr.employees ewhere e.employee_id = c.account_mgr_id)-ORDER BY子句用来对最终结果集排序。需要估计需要排序的数据量大小。太大时会使用临时磁盘空间来完成排序。
2.INSERT语句
-单表插入insert intohr.jobs(job_id,job_title,min_salary,max_salary)values(‘IT_PM‘,‘ProjectManager‘,5000,11000);--增加10%的分红insert into scott.bonus(ename,job,sal)select ename,job,sal * .10from scott.emp;-多表插入下面例子阐明了一个子程序返回的数据行是如何被用来插入多个表中的。从3个表开始:small_customers、medium_customers、large_customers。按照每位消费者所下订单的总金额(order_total)来将数据分别插入这些表。-使用表达式更新一个单列的值
-通过子查询更新多列。
-1.使用WHERE子句中的筛选条件来指定表中的删除行。
-2.使用FROM子句中的子查询来删除行。
-3.使用WHERE子句中的子查询来指定从表中删除的行。
-基本语法