当前位置: 首页 > news >正文

网站建设申请费用长春电商网站建设费用

网站建设申请费用,长春电商网站建设费用,注册网站免费注册qq邮箱,遵义网站开发哪家便宜数据库 Oracle 体系结构与基本概念体系结构基本概念表空间(users)和数据文件段、区、块Oracle数据库的基本元素 Oracle数据库启动和关闭Oracle数据库启动Oracle数据库关闭 Sqlplussqlplus 登录数据库管理系统使用sqlplus登录Oracle数据库远程登录解锁用户修改用户密码查看当前语… 数据库 Oracle 体系结构与基本概念体系结构基本概念表空间(users)和数据文件段、区、块Oracle数据库的基本元素 Oracle数据库启动和关闭Oracle数据库启动Oracle数据库关闭 Sqlplussqlplus 登录数据库管理系统使用sqlplus登录Oracle数据库远程登录解锁用户修改用户密码查看当前语言环境 sqlplus基本操作显示当前用户查看当前用户下的表查看员工表的结构设置行宽设置页大小永久设置行宽、页宽设置员工ename的列宽设置薪水的列宽 Oracle默认方案scott方案业务场景根据公司业务抽离出的表 hr方案 SQLSQL语言的类型DMLDDLDCL 基本 SELECT 语句查询案例查询员工号、姓名、薪水别名asDISTINCT关键字算数运算 - * / 和 NULL值 过滤和排序数据where条件过滤查询10号部门的员工信息查询KING的信息修改系统当前日期格式比较运算like模糊查询逻辑运算 order by 排序使用 ORDER BY 子句排序 单行函数字符函数数值函数时间函数日期函数转换函数通用函数条件表达式 分组函数分组数据查询“部门”的平均工资group by后面有多列的情况 having查询平均薪水大于2000的部门求10号部门的平均工资 多表查询笛卡尔积等值连接不等值连接外连接自连接 子查询定义子查询需要注意的问题主、子查询在不同表间进行在主查询的where select having from 放置子查询在from后面放置的子查询单行子查询只能使用单行操作符多行子查询只能使用多行操作符单行子查询多行子查询 子查询中null一般不在子查询中使用order by一般先执行子查询再执行主查询 集合运算集合运算符集合运算需要注意的问题 数据处理插入数据insert Oracle 体系结构与基本概念 体系结构 Oracle服务器 是一个数据管理系统(RDBMS)它提供开放的、 全面的、近乎完整的信息管理。由1个数据库和一个或多个实例组成。数据库位于硬盘上实例位于内存中。 基本概念 表空间(users)和数据文件 1n表空间数据文件 逻辑概念表空间由多个数据文件组成。位于实例上在内存中。 物理概念数据文件位于硬盘之上。(C:\app\Administrator\oradata\orcl目录内后缀为.DBF的文件) 一个表空间可以包含一个或者是多个数据文件。 /home/oracle/app/oradata/orcl 段、区、块 段存在于表空间中段是区的集合区是数据块的集合数据块会被映射到磁盘块。 Oracle数据库的基本元素 方案schema 方案就是一个集合包含多个表(tables)、视图(views)、序列(sequences)、存储过程store procudures)、索引indexes、同义词synonyms。 oracle中每个用户都对应一个方案方案名就是用户名。表table 表示存储数据的逻辑容器类似excel多行多列的表格。表创建的时候要定义它的每一列的列名以及该列的数据类型。如name char(10)表示定义列名为name类型为字符串型 创建表之后才可以往里边添加数据。视图view 从多张表或者其他视图提取出用户所关心数据的一张虚表。存储过程 一组为了完成特定功能的SQL 语句集存储在数据库中经过第一次编译后再次调用不需要再次编译。序列sequence 是oracle提供的用于产生一系列唯一数字的数据库对象。索引index 用于加快数据的检索类似于书籍的索引。同义词synonyms 别名的意思和视图的功能类似。就是一种映射关系。 Oracle数据库启动和关闭 前提条件: 使用Oracle用户登录Linux操作系统 [rootlocalhost ~]# su - oracle 数据库管理员用户: 用户名:sys 密 码:sys Oracle数据库启动 第一步: 通过数据库管理员登录Oracle数据库 [oraclelocalhost ~]$ sqlplus / as sysdba; 第二步: 启动Oracle数据库 SQL startup 第三步: 启动监听服务 SQL quit [oraclelocalhost ~]$ lsnrctl start Oracle数据库关闭 第一步: 通过数据库管理员登录Oracle数据库 [oraclelocalhost ~]$ sqlplus / as sysdba; 第二步: 关闭Oracle数据库 SQL shutdown immediate 第三步: 关闭监听服务 SQL quit [oraclelocalhost ~]$ lsnrctl stop Sqlplus Oracle的sqlplus是与oracle数据库进行交互的客户端工具借助sqlplus可以查看、修改数据库记录。在sqlplus中可以运行sqlplus命令与sql语句。 Sqlplus命令是用来修改以及调整sqlplus工具的命令。 Sql语句是用来让服务器执行相关动作的命令。 sqlplus 登录数据库管理系统 前提条件是Oracle数据库必须启动。 使用sqlplus登录Oracle数据库 sqlplus 用户名/密码 [oraclelocalhost ~]$ sqlplus scott/11 远程登录 sqlplus 用户名/密码//ip/实例名 ↙ 远程登录oracle服务器方式如(sqlplus scott/11//192.168.161.130/orcl) 解锁用户 [oraclelocalhost ~]$ sqlplus / as sysdba; SQL alter user scott account unlock; 修改用户密码 [oraclelocalhost ~]$ sqlplus / as sysdba; SQL alter user scott identified by 11; 查看当前语言环境 SQL select userenv(language) from dual; sqlplus基本操作 前提条件是使用scott用户登录 [oraclelocalhost ~]$ sqlplus scott/11 显示当前用户 SQL show user 查看当前用户下的表 SQL select *from tab; 查看员工表的结构 SQL desc dept; 设置行宽 默认显示不好看因此需要设置行宽。 SQL set linesize 140; 设置页大小 SQL set pagesize 100; 永久设置行宽、页宽 永久设置edit打开为gedit。 设置员工ename的列宽 SQL col ename for a6 (a表示字符串) 设置薪水的列宽 col sal for 9999(一个9表示一位数字) Oracle默认方案 安装oracle数据库默认会自动创建scott和hr两个用户以及其方案这些都是oracle提供给我们学习和练习的数据我们直接在上边练习就好。 scott方案 业务场景 Scott斯科特是一家软件公司的数据分析师公司为其提供专门的数据库管理账号以及方案。 公司有总裁一名(president)、经理(manager)、店员(clerk)、销售专员(salesman)分析师(analyst)若干。 公司设置有多个部门会计部accounting、研发部(researching)、销售部(sales)。 根据公司业务抽离出的表 员工信息表EMPEmployee部门表DEPTDepartment工资等级表SALGRADE奖金表BONUS grade: 薪水等级 losal: 最低薪水 hisal: 最高薪水 deptno: 部门编号 dname: 部门名称 loc: 部门位置 empno: 员工编号 ename: 员工姓名 job: 员工工种 mgr: 员工上司 hiredate: 雇佣日期 sal: 员工薪水 comm: 员工奖金 deptno: 员工部门编号 hr方案 SQL 结构化查询语言(Structured Query Language)简称SQL是对数据库进行增、删、查、改等操作的语言。 SQL 是1986年10 月由美国国家标准局ANSI通过的数据库语言美国标准接着国际标准化组织ISO颁布了SQL正式国际标准。1989年4月ISO提出了具有完整性特征的SQL89标准1992年11月又公布了SQL92标准. 各种不同的数据库对SQL语言的支持与标准存在着细微的不同这是因为有的产品的开发先于标准的公布另外各产品开发商为了达到特殊的性能或新的特性需要对标准进行扩展。 SQL语言的类型 DML 数据库中称呼增删改查为DML语句。(Data Manipulation Language 数据操纵语言)如 增 insert 删 delete 改 update 查 select DDL 数据定义语言(Data Definition Language)。如 create table(创建表) alter table(修改表) truncate table(清空表) drop table(删除表) create view(视图) create index(索引) create sequence(序列) create synonym(同义词) DCL 数据控制语言Data Control Language。如 commit(提交) rollback(回滚) 基本 SELECT 语句 基本语法格式为 语法描述说明 花括号{}括起的部分为必填部分。 中括号[]括起来的部分为可选部分。 多种形式的语法用竖线|来表示并列单选或者的意思。 SQL语句使用注意事项 SQL 语言大小写不敏感。SQL 可以写在一行或者多行以分号作为一条sql语句的结束标志。关键字不能被缩写也不能分行。各子句一般要分行写。使用缩进提高语句的可读性。 查询案例 查询员工号、姓名、薪水 增加查询年薪(使用表达式) 别名as 解决乱码问题修改系统字符集。 解决方法 DISTINCT关键字 去除结果集重复的行。 算数运算 - * / 和 NULL值 乘除的优先级高于加减优先级相同时按照从左至右运算可以使用括号改变优先级 查询: 员工号、姓名、月薪、年薪、奖金、年收入。 结果不正确。没有奖金的员工年收入不正确。 NULL值问题 包含NULL值的表达式都为空。 NULL ! NULL 任何算数运算碰到NULL值都变成NULL任何逻辑运算碰到NULL值都变成假 解决滤空函数nvl(a, b) 如果a为NULL 函数返回b。所以sal * 12 nvl(comm, 0) 年收入。 NULL ! NULL举例 在SQL中判断一值是否等于另外一值不用“” 和“!”而使用is和is not。 过滤和排序数据 where条件过滤 查询10号部门的员工信息 查询KING的信息 修改系统当前日期格式 查询入职日期为1981年11月17日的员工 查看系统当前的日期格式 获取系统当前日期格式 SQL select * from v$nls_parameters 修改日期格式 SQL alter session set NLS_DATE_FORMAT yyyy-mm-dd 再次查询 改回系统默认格式SQL alter session set NLS_DATE_FORMAT ‘DD-MON-RR’; 比较运算 普通比较运算符 等于(不是) 大于 大于等于 小于 小于等于 不等于(也可以是!) 查询薪水不等于1250的员工信息 查询工资在1000-2000之间的员工 查询81年2月至82年2月入职的员工信息 IN在集合中。(not in 不在集合中) 查询部门号为10或20的员工信息 like模糊查询 ‘%’匹配任意多个字符。 ‘_’匹配一个字符。 查询名字以S开头的员工 查询名字是4个字的员工 转义字符 增加测试例子向表中插入员工 SQL insert into emp(empno, ename, sal, deptno) values(1001, ’ TOM_ABC , 3000, 10) 查询名字中包含_的员工 SQL select * from emp where ename like %\_% escape \; 转义单引号本身 SQL select hello world from dual; 使用两个单引号来完成转义。逻辑运算 AND 逻辑与 OR 逻辑或 NOT 逻辑非 如果 ……where 表达式1 and 表达式2; ……where 表达式2 and 表达式1; 这两句SQL语句功能一样吗效率一样吗 SQL在解析where的时候是从右至左解析的。 所以and时应该将易假的值放在右侧or时应该将易真的值放在右侧。 order by 排序 order by 列名表达式别名序号。 注意语法要求order by 子句应放在select的结尾。 使用 ORDER BY 子句排序 • ASCascend: 升序。默认采用升序方式。 • DESCdescend: 降序 查询员工信息按月薪排序 order by后有多列时列名之间用逗号隔分order by会同时作用于多列。 desc 只作用于最近的一列两列都要降序排则需要两个desc。即 order by 列名表达式别名序号。 查询员工信息 按奖金由高到低排序 结果前面的值为NULL 数据在后面如果是一个100页的报表这样显示肯定不正确。较为人性化的显示应该将空值放在最后 即 排序的规则 可以按照select语句中的列名排序可以按照别名列名排序可以按照select语句中的列名的顺序值排序如果要按照多列进行排序则规则是先按照第一列排序如果相同则按照第二列排序以此类推 单行函数 单行函数:只对一行数据进行计算产生一个结果。函数可以没有参数但必须要有返回值。如concat、nvl 操作数据对象 hello world接受参数返回一个结果只对一行进行变换每行返回一个结果可以转换数据类型可以嵌套参数可以是一列或一个值 字符函数 操作对象是字符串。 大致可分为两大类一类是大小写控制函数主要有 lower 转小写 upper 转大写 initcap 首字母大写 另一类是字符控制函数有CONCAT、SUBSTR、LENGTH/LENGTHB、INSTR、LPAD | RPAD、TRIM、REPLACE concat(a,b)连接字符串a和b只能连接两个 注意SQL双引号“”表示别名使用‘’来表示字符串。 另一种连接字符串的方法使用||可以做到多个字符串连接 substr(a, b)从a中第b位开始取(计数从1开始)取到结尾。 substr(a, b, c)从a中第b位开始向右取c位。 length字符数 lengthb字节数 instr在母串中查找子串 找到返回下标计数从1开始。没有返回0 lpad左填充参1待填充的字符串参2填充后字符串的总长度(字节) 参3填充什么 rpad右填充。 trim去掉前后指定的字符 replace替换 数值函数 ROUND: 四舍五入 TRUNC: 截断 MOD: 求余 时间函数 在Oracle中日期型的数据既有日期部分也有时间部分。下一节介绍日期部分。 显示 昨天、今天、明天 计算员工的工龄 日期函数 上面求取员工工龄的结果不精确如果想将其算准确可以使用日期函数来做。 months_between两个日期值相差的月数(精确值) 跟between…and无关 add_months在某个日期值上加上多少的月正数向后计算负数向前计算。 last_day日期所在月的最后一天。 next_day指定日期的下一个日期 转换函数 在不同的数据类型之间完成转换。将“123” 转换为 123。有隐式转换和显式转换之分。 隐式转换 显式转换 隐式转换的前提条件是被转换的对象是可以转换的。 显示转换借助to_char(数据格式)、to_number、to_date函数来完成转换。 如果隐式转换和显示转换都可以使用应该首选哪个呢 SQL优化如果隐式、显式都可以使用应该首选显式这样可以省去Oracle的解析过程。 在固定的格式里加入自定义的格式是可以的必须要加“”。 反向操作已知字符串“2024-2-1 18:30:20 ”转化成日期。 查询员工的薪水2位小数 本地货币代码 千位符 将$2,975.00转化成数字 通用函数 这些函数适用于任何数据类型同时也适用于空值 NVL (expr1, expr2) NVL2 (expr1, expr2, expr3) NULLIF (expr1, expr2) COALESCE (expr1, expr2, …, exprn) nvl2 是nvl函数的增强版。 nvl2(a, b, c) 当a null 返回 c 否则返回b。 nullif nullif(a, b) 当 a b 时返回null, 不相等的时候返回a值。 coalesce: coalesce(a, b, c, …, n) 从左向右找参数中第一个不为空的值。 条件表达式 例子老板打算给员工涨工资, 要求 总裁(PRESIDENT)涨1000经理(MANAGER)涨800其他人涨400。请将涨前、涨后的薪水列出。 但是在SQL中无法实现if else 逻辑。当有这种需求的时候可以使用case 或者 decode case 是一个表达式其语法为 decode是一个函数其语法为 分组函数 分组函数作用于一组数据并对一组数据返回一个值。 如AVG、COUNT、MAX、MIN、SUM操作的是一组数据返回一个结果。 求员工的工资总额 员工人数 平均工资 求员工的平均奖金 ☆NULL空值组函数都有自动滤空功能(忽略空值)所以 如何屏蔽 组函数 的滤空功能 但是实际应用中结果为14和结果为4都有可能对看问题本身是否要求统计空值。 count函数求个数如果要求不重复的个数使用distinct。 求emp表中的工种 分组数据 group by 按照group by 后给定的表达式将from后面的table进行分组。针对每一组使用组函数。 查询“部门”的平均工资 SQL select deptno,avg(sal)from emp group by deptno; 上述SQL语句可以抽象成select a, 组函数(x) from 表 group by a; 这样的格式。 如果select a, b 组函数(x) …… group by 应该怎么写 注意在SELECT 列表中所有没有包含在组函数中的列都必须在group by的后面出现。所以上问应该写成group by a, b;没有b语法就会出错不会执行SQL语句。但反之可以。group by abc; c可以不出现在select语句中。 group by后面有多列的情况 SQL select deptno,job,avg(sal) from emp group by deptno,job order by 1; 因为deptno, job 两列没有在组函数里面所以必须同时在group by后面。 该SQL的语义按部门不同的职位统计平均工资。先按第一列分组如果第一列相同再按第二列分组。 所以查询结果中同一部门中没有重复的职位。 having 使用 HAVING 过滤分组: 行已经被分组。使用了组函数。满足HAVING 子句中条件的分组将被显示。 语法 查询平均薪水大于2000的部门 分析该问题实际上是在分组的基础上过滤分组。 SQL select deptno,avg(sal) from emp group by deptno having avg(sal) 2000; 注意 不能在 WHERE 子句中使用组函数。 可以在 HAVING 子句中使用组函数。 从功能上讲where和having都是将满足条件的结果进行过滤。但是差别是where子句中不能使用 组函数所以上句中的having不可以使用where代替。 求10号部门的平均工资 在子句中没有使用组函数的情况下where、having都可以应该怎么选择 SQL优化 尽量采用where。 如果有分组的话where是先过滤再分组而having是先分组再过滤。当数据量庞大如1亿条where优势明显。 多表查询 多表查询的过程中其实就会构造多个表的一个笛卡尔积。 笛卡尔积 笛卡尔积就是两个集合的乘积计算其实跟我们普通的乘法分配律相像不过是作用于集合 如果有一个集合M(a,b) 和集合N(c,d) , 那么集合的乘积 M x N (a,b) x (c,d) ( a x (c,d), b x (c,d) ) ( ac,ad,bc,bd) 具体到我们的数据库表如下 笛卡尔积的行数 table1的行数 x table2的行数 笛卡尔积的列数 table1的列数 table2的列数 比如 select * from emp,dept; 会得到如下的一个表 多表查询就是按照给定条件(连接条件)从笛卡尔全集中选出正确的结果。 比如上图理应该两个deptno 相同的数据才是有意义的数据。 根据连接条件的不同可以划分为等值链接、不等值链接、外链接、自连接 。 等值连接 从概念上区分等值连接和不等值连接非常简单只需要辨别where子句后面的条件是“”为等值连接。不是“”为不等值连接。 查询员工信息员工号 姓名 月薪和部门名称 通常在进行多表查询的时会给表起一个别名使用“别名.列名”的方式来获取数据直接使用“表名.列名”语法上是允许的但是实际很少这样用。 SQL select e.empno,e.ename,e.sal,e.deptno,d.dname,d.deptno from emp e , dept d where e.deptno d.deptno; 如果select e.empno, e.ename, e.sal, e.deptno, d.dname, d.deptno from emp e, dept d; 直接得到的是笛卡尔全集。其中有错误结果。所以应该加 where 条件进行过滤。 如果有N个表where后面的条件至少应该有N-1个。 不等值连接 将上面的问题稍微调整下查询员工信息员工号 姓名 月薪 和 薪水级别(salgrade表) 分析 看到员工总的薪水级别共有5级员工的薪水级别应该满足 当前级别的下限该级别的上限 SQL select e.empno,e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losal and s.hisal; 外连接 按部门统计员工人数显示如下信息 部门号 部门名称 人数 分析 人数一定是在emp表中使用count()函数统计emp表中任一非空列均可。 部门名称在dept表dname中直接读取即可。 部门号任意两张表都有。 注意由于使用了组函数count()所以组函数外的d.deptno和d.dname必须放到group by后。 但是select * from dept发现40号部门没有显示出来原因是40号部门没有员工where没满足。结果不对40号部门没有员工应该在40号部门位置显示0。 我们希望 在最后的结果中包含某些对于where条件来说不成立的记录 外连接的作用 左外连接当 where e.deptnod.deptno 不成立的时候左边所表示的信息仍然被包含。 写法与叫法相反where e.deptnod.deptno() 右外连接当 where e.deptnod.deptno 不成立的时候右边所表示的信息仍然被包含。 写法依然与叫法相反where e.deptno()d.deptno 以上我们希望将没有员工的部门仍然包含到查询的结果当中。因此应该使用外链接的语法。 右外链接写法 左外链接写法 自连接 核心通过表的别名将同一张表视为多张表。 查询员工信息xxx的主管是 yyy 可是观察结果我们发现老板KING没有老板KING的上司应该是老板KING。 因此使用左自连接当条件不满足左边所表示的信息仍然被包含。 子查询 子查询语法很简单就是select 语句的嵌套使用。 查询工资比SCOTT高的员工信息 分析两步即可完成 1.查出SCOTT的工资 SQL select ename, sal from emp where ename‘SCOTT’ 其工资为3000。 2.查询比3000高的员工 SQL select * from emp where sal3000 通过两步可以将问题结果得到。子查询可以将两步合成一步。 ——子查询解决的问题问题本身不能一步求解的情况。 子查询语法格式 定义子查询需要注意的问题 小括号( )主查询和子查询可以是不同表只要子查询返回的结果主查询可以使用即可可以在主查询的where、select、having、from后都可以放置子查询不可以在主查询的group by后面放置子查询 (SQL语句的语法规范)一般先执行子查询(内查询)再执行主查询(外查询)但是相关子查询除外一般不在子查询中使用order by, 但在Top-N分析问题中必须使用order by单行子查询只能使用单行操作符多行子查询只能使用多行操作符子查询中的null值 主、子查询在不同表间进行 查询部门名称是“SALES”的员工信息 主查询查询员工信息。select * from emp; 子查询负责得到部门名称(在dept表中)、部门号对应关系。select deptno from dept where dname‘SALES’ 主查询查询的是员工表emp子查询查询的是部门表dept。是两张不同的表。 将该问题使用“多表查询”解决 两种方式哪种好呢 ※SQL优化: 理论上既可以使用子查询也可以使用多表查询尽量使用“多表查询”。子查询有2次from但是还得看数据量如果数据量比较大那么做多表查询产生的笛卡尔积也会相当庞大。 不同数据库处理数据的方式不尽相同如Oracle数据库中子查询地位比较重要做了深入的优化。有可能实际看到结果是子查询快于多表查询。 在主查询的where select having from 放置子查询 子查询可以放在select后但要求该子查询必须是 单行子查询(该子查询本身只返回一条记录2叫多行子查询)。 在from后面放置的子查询 表代表一个数据集合、查询结果(SQL)语句本身也代表一个集合。 查询员工的姓名、薪水和年薪 将select 语句放置到from后面表示将select语句的结果当成表来看待。这种查询方式在Oracle语句中使用比较频繁。 单行子查询只能使用单行操作符多行子查询只能使用多行操作符 单行子查询 单行子查询就是该条子查询执行结束时只返回一条记录(一行数据)。 使用单行操作符 、、、、、 也可以在having子句中使用 上面的例子告诉我们 单行子查询只能使用单行操作符(号、号等)在一个主查询中可以有多个子查询。子查询里面可以嵌套多层子查询。子查询也可以使用组函数。子查询也是查询语句适用于前面所有知识。 多行子查询 子查询返回2条记录以上就叫多行。 多行操作符有 IN等于列表中的任意一个 ANY 和子查询返回的任意一个值比较 ALL和子查询返回的所有值比较 IN(表示在集合中) 查询部门名称为SALES和ACCOUNTING的员工信息。 使用 多表查询 来解决该问题 ANY(表示和集合中的任意一个值比较) 查询薪水比30号部门任意一个员工高的员工信息 SQL select * from emp where sal (select sal from emp where deptno30); 正确吗 这样是错的子句返回多行结果。而‘’是单行操作符。 ——应该将‘’替换成‘ any’ 实际上集合的任意一个值就是大于集合的最小值。 ALL(表示和集合中的所有值比较) 查询薪水比30号部门所有员工高的员工信息。 子查询中null 判断一个值等于、不等于空不能使用和!号而应该使用is 和 not。 如果集合中有NULL值不能使用not in。如 not in (10 20 NULL)但是可以使用in。为什么呢 先看一个例子 查询不是老板的员工信息 在emp表中有列mgr该列表示该员工的上司的员工号是多少。那么如果一个员工的这列是空值那么说明这员工是老板。 一般不在子查询中使用order by 一般情况下子查询使用order by或是不使用order by对主查询来说没有什么意义。子查询的结果给主查询当成集合来使用所以没有必要将子查询order by。 但在Top-N分析问题中必须使用order by。 一般先执行子查询再执行主查询 含有子查询的SQL语句执行的顺序是先子后主。 但相关子查询例外。 集合运算 查询部门号是10和20的员工信息 思考有几种方式解决该问题 还可以用集合运算 select * from emp where deptno10 加上 select * from emp where deptno20 集合运算所操作的对象是两个或者多个集合而不再是表中的列(select一直在操作表中的列) 集合运算符 集合运算的操作符。A∪B、A∩B、A – B 集合运算需要注意的问题 1.参与运算的各个集合必须列数相同且类型一致。 2.采用第一个集合的表头作为最终使用的表头。 (列名别名也只能在第一个集合上起) 3.可以使用括号()先执行后面的语句。 问题按照部门统计各部门不同工种的工资情况要求按如下格式输出: 第一部分数据是按照deptno和job进行分组select 查询deptno、job、sum(sal) 第二部分数据是直接按照deptno分组即可与job无关select 只需要查询deptnosum(sal) 第三部分数据不按照任何条件分组即group by nullselect 查询sum(sal) 数据处理 插入数据insert 使用 INSERT 语句向表中插入数据。其语法为 如果values后面的值涵盖了表中的所有列那么table的列名可以省略不写。
http://www.w-s-a.com/news/462663/

相关文章:

  • 昆明网站建设工作室网站菜单导航怎么做的
  • 南京网站做的好的公司猪八戒网站做推广怎么样
  • 建站收费标准福州网站搭建
  • 做防护用品的网站欧美网站建设风格特点
  • 龙华做网站联系电话北京软件开发培训班
  • 做网站运营有前途网站的建设与管理的心得体会
  • 河南网站推广怎么做网页制作免费下载
  • 网站如何屏蔽中国ip商丘网站建设的公司哪家好
  • 东莞广告公司东莞网站建设价格鹤壁哪有做网站的
  • 门户网站界面设计logo设计商标设计
  • 建设银行网站驱动宁波网站建设相信荣胜网络
  • 八里河网站建设项目建设可行性企业品牌推广方式有哪些
  • jsp网站开发之html入门知识广州服装设计公司
  • 做电商看的网站有哪些个人网页制作成品免费
  • 沈阳建站多少钱境外网站 备案
  • 提交网站收录入口斗图在线制作
  • 建设化妆品网站服务医药网站前置审批
  • 购物网站修改注册信息模块的分析怎么注册公司logo
  • 那个网站可以做域名跳转的青岛网站建设定制
  • 网站登记模板互联网技术发展及其影响的调查
  • 北京专业的网站建设西安企业家名单
  • 移动网站开发服务器丰都集团网站建设
  • 网站开发逻辑图烫画图案设计网站
  • 客户管理系统哪找公司网站如何做优化
  • 常德企业网站建设广州站在哪里
  • 移动端网站建站视频教程网站如何做淘客
  • 注册网站会不会有风险网站建设实训致谢语
  • ssh框架做的家政服务网站需要做网站建设的公司
  • 众筹网站制作长春高端网站建设
  • 亳州网站网站建设wordpress汉化.po