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

济南网站建设小程序济南定机票网站建设

济南网站建设小程序,济南定机票网站建设,微信网站和手机网站的区别,常德网络建站目录 统计出一张数据表中的数据量 查询 dept 表中的数据量 查询 emp 表中的数据量 实现 emp 与 dept 的多表查询 笛卡尔积 消除笛卡尔积 把数据表 emp 的别名定为 e#xff0c;数据表 dept 的别名定为 d#xff0c;然后在查询中分别使用 e 和 d 代替这两个表 Oracle从…目录 统计出一张数据表中的数据量 查询 dept 表中的数据量 查询 emp 表中的数据量 实现 emp 与 dept 的多表查询 笛卡尔积 消除笛卡尔积 把数据表 emp 的别名定为 e数据表 dept 的别名定为 d然后在查询中分别使用 e 和 d 代替这两个表 Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 所谓的多表查询指的就是同时从多张数据表中取出数据并且显示的一种操作 select [distinct] * | 列 [ 别名 ] , 列 [ 别名 ] ... from 表名称 [ 别名 ], 表名称 [ 别名 ],... [where 限定条件 (s)] [order by 排序字段 [asc | desc], 排序字段 [asc | desc],...] 上面语法中 第一行表示确定要显示的数据列 第二行确定数据来源 第三行对数据行进行筛选 第四行对选定数据的行与列排序。 和前面唯一的不同之处在于 FROM 后面增加了更多的表 下面按照这样的语法结构实现多表查询。本次将利用 emp 与 dept 两张表进行多表查询操作。在查询之前先介绍一个函数 统计出一张数据表中的数据量 关键词是count() 查询 dept 表中的数据量 SQL select count(*)2 from dept;COUNT(*) ----------4 可以看出这个数据表有 4 行记录 查询 emp 表中的数据量 SQL select count(*)2 from emp;COUNT(*) ----------13 运行后可以看出这个数据表有 13 行记录 有些同学会发现记录数不一样,这个没有关系的 也就是说这两张表加起来总共有 17 行记录 实现 emp 与 dept 的多表查询 SQL select *2 from emp,dept;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DEPTNO DNAMELOC ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ---------- ---------------------------- --------------------------7369 SMITH CLERK 7902 17-12月-80 800 20 10 ACCOUNTINGNEW YORK7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 10 ACCOUNTINGNEW YORK7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 10 ACCOUNTINGNEW YORK7566 JONES MANAGER 7839 02-4月 -81 2975 20 10 ACCOUNTINGNEW YORK7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 10 ACCOUNTINGNEW YORK7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 10 ACCOUNTINGNEW YORK7782 CLARK MANAGER 7839 09-6月 -81 2450 10 10 ACCOUNTINGNEW YORK7839 KING PRESIDENT 17-11月-81 5000 10 10 ACCOUNTINGNEW YORK7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 10 ACCOUNTINGNEW YORK7900 JAMES CLERK 7698 03-12月-81 950 30 10 ACCOUNTINGNEW YORK7902 FORD ANALYST 7566 03-12月-81 3000 20 10 ACCOUNTINGNEW YORK7934 MILLER CLERK 7782 23-1月 -82 1300 10 10 ACCOUNTINGNEW YORK8989 HELLO 10 ACCOUNTINGNEW YORK7369 SMITH CLERK 7902 17-12月-80 800 20 20 RESEARCHDALLAS7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 20 RESEARCHDALLAS7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 20 RESEARCHDALLAS7566 JONES MANAGER 7839 02-4月 -81 2975 20 20 RESEARCHDALLAS7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 20 RESEARCHDALLAS7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 20 RESEARCHDALLAS7782 CLARK MANAGER 7839 09-6月 -81 2450 10 20 RESEARCHDALLAS7839 KING PRESIDENT 17-11月-81 5000 10 20 RESEARCHDALLAS7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 20 RESEARCHDALLAS7900 JAMES CLERK 7698 03-12月-81 950 30 20 RESEARCHDALLAS7902 FORD ANALYST 7566 03-12月-81 3000 20 20 RESEARCHDALLAS7934 MILLER CLERK 7782 23-1月 -82 1300 10 20 RESEARCHDALLAS8989 HELLO 20 RESEARCHDALLAS7369 SMITH CLERK 7902 17-12月-80 800 20 30 SALESCHICAGOEMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DEPTNO DNAMELOC ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ---------- ---------------------------- --------------------------7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 30 SALESCHICAGO7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 30 SALESCHICAGO7566 JONES MANAGER 7839 02-4月 -81 2975 20 30 SALESCHICAGO7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 30 SALESCHICAGO7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 30 SALESCHICAGO7782 CLARK MANAGER 7839 09-6月 -81 2450 10 30 SALESCHICAGO7839 KING PRESIDENT 17-11月-81 5000 10 30 SALESCHICAGO7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 30 SALESCHICAGO7900 JAMES CLERK 7698 03-12月-81 950 30 30 SALESCHICAGO7902 FORD ANALYST 7566 03-12月-81 3000 20 30 SALESCHICAGO7934 MILLER CLERK 7782 23-1月 -82 1300 10 30 SALESCHICAGO8989 HELLO 30 SALESCHICAGO7369 SMITH CLERK 7902 17-12月-80 800 20 40 OPERATIONSBOSTON7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 40 OPERATIONSBOSTON7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 40 OPERATIONSBOSTON7566 JONES MANAGER 7839 02-4月 -81 2975 20 40 OPERATIONSBOSTON7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 40 OPERATIONSBOSTON7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 40 OPERATIONSBOSTON7782 CLARK MANAGER 7839 09-6月 -81 2450 10 40 OPERATIONSBOSTON7839 KING PRESIDENT 17-11月-81 5000 10 40 OPERATIONSBOSTON7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 40 OPERATIONSBOSTON7900 JAMES CLERK 7698 03-12月-81 950 30 40 OPERATIONSBOSTON7902 FORD ANALYST 7566 03-12月-81 3000 20 40 OPERATIONSBOSTON7934 MILLER CLERK 7782 23-1月 -82 1300 10 40 OPERATIONSBOSTON8989 HELLO 40 OPERATIONSBOSTON已选择 52 行。 发现每一行 emp 表中的记录出现了 4 次而 4 次是 dept 表中的数据量所以最终产生了 emp 表 13 行 *dept 表 4 行 52 行记录 在查询显示的时候emp 表每行记录同时显示了 dept 表的 4 行记录而实际上只有 1 行记录是对应的即数据表 emp 中字段 deptno 与数据表 dept 中 字段 deptno 相等 笛卡尔积 之所以会出现这样的情况主要与数据库的产生原理有关数学的集合。这样的集合操作会 将两个集合数据表的统一查询作为乘法的形式出现。结果一定会产生积笛卡尔积 在任何情况下进行多表查询都会存在笛卡尔积的问题。但是事实上这些积的产生对用户而言是没有任何实质上的用处的所以需要想办法进行消除。如果要想消除积那么必须有关联字段  很明显现在 emp 与 dept 数据表中都存在关联字段大部分情况下都习惯将关联字段设置为同名 。此时就可以利用关联字段消除笛卡尔积 消除笛卡尔积 SQL select *2 from emp,dept3 where emp.deptnodept.deptno;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DEPTNO DNAMELOC ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ---------- ---------------------------- --------------------------7839 KING PRESIDENT 17-11月-81 5000 10 10 ACCOUNTINGNEW YORK7782 CLARK MANAGER 7839 09-6月 -81 2450 10 10 ACCOUNTINGNEW YORK7934 MILLER CLERK 7782 23-1月 -82 1300 10 10 ACCOUNTINGNEW YORK7902 FORD ANALYST 7566 03-12月-81 3000 20 20 RESEARCHDALLAS7369 SMITH CLERK 7902 17-12月-80 800 20 20 RESEARCHDALLAS7566 JONES MANAGER 7839 02-4月 -81 2975 20 20 RESEARCHDALLAS7900 JAMES CLERK 7698 03-12月-81 950 30 30 SALESCHICAGO7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 30 SALESCHICAGO7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 30 SALESCHICAGO7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 30 SALESCHICAGO7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 30 SALESCHICAGO7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 30 SALESCHICAGO已选择 12 行。 对应显示的是 emp 数据表中 deptno 字段和 dept 数据表中 deptno 字段相等的数据行。显示的列是两个数据表的所有列。这时候只显示 emp 表中的 13 行记录同时每个记录所 对应的 dept 中字段的信息也显示在后面 只要是多表查询在多张表之间一定要存在关联关系没有关联关系的表是不可能进行多表查询的 但是现在的代码还存在一个问题此时进行字段访问的时候采用的是“表名称 . 字段名称” 表名称短没什么问题而如果表名称长了就比较麻烦例如“yuzhou_yinhexi_diqiu_yazhou_beijing_zhongyang_ren” 。所以在进行多表查询的时候强烈建议使用别名  把数据表 emp 的别名定为 e数据表 dept 的别名定为 d然后在查询中分别使用 e 和 d 代替这两个表 SQL select e.*,d.dname2 from emp e,dept d3 where e.deptnod.deptno;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DNAME ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ----------------------------7839 KING PRESIDENT 17-11月-81 5000 10 ACCOUNTING7782 CLARK MANAGER 7839 09-6月 -81 2450 10 ACCOUNTING7934 MILLER CLERK 7782 23-1月 -82 1300 10 ACCOUNTING7902 FORD ANALYST 7566 03-12月-81 3000 20 RESEARCH7369 SMITH CLERK 7902 17-12月-80 800 20 RESEARCH7566 JONES MANAGER 7839 02-4月 -81 2975 20 RESEARCH7900 JAMES CLERK 7698 03-12月-81 950 30 SALES7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 SALES7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 SALES7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 SALES7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 SALES7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 SALES已选择 12 行。 这次显示的数据列和上一个查询不完全一样因为查询的数据列是 e.* 和 d.name所以显示的列应该是数据表 emp 的全部字段和 dept 的 dname 字段 实际上笛卡尔积的存在对整个程序影响是相当巨大的即便可以消除掉显示的笛卡尔积但是从本质上来说永远无法避免笛卡尔积
http://www.hkea.cn/news/14361824/

相关文章:

  • 网站建设属于什么经济科目免费推广网站58
  • 百度的官方网站wordpress+写php页面
  • 网站建设 技术服务wordpress 制作首页模板
  • 福州网站设计哪家好网站建设功能模块价格
  • 哪个网站做h5比较好wordpress进度条插件
  • 网站搭建教程导航类制作头像
  • 网站背景全屏哪个网站 的域名最便宜
  • 深圳网站 制作信科便宜wordpress选项框插件
  • 中国铁建企业门户网站江门网站上排名
  • 黄南州网站建设公司想注册个人网站
  • 简易html个人介绍网页深圳网络优化
  • 汉中做网站的公司电话音乐摄影网站建设宗旨
  • 网站建设教程小说ueeshop外贸建站公司
  • 此网站正在建设中海淀中小企业网站开发
  • 新闻cms静态网站模板下载商务网站建设步骤
  • 响水做网站的网站备案 加急
  • 怎么查网站icp备案免费网站安全软件下载安装
  • 不干胶印刷网站建设wordpress 静态规则
  • 建设项目管理公司网站济南优化联系电话
  • 网站目录管理系统模板自己做小程序开个社区团购
  • 微网站建设合同中国建设银行的业务范围
  • 制造业网站建设网站建设的规模设想
  • 二级目录怎么做网站怎么做免费的宣传网站
  • 台州网站制作维护专业设计服务
  • 电商培训类网站模板下载中国建设银行个人网站
  • 使用oss做静态网站网站做网站广告
  • 网站设计与网页制作培训银川森淼生态园
  • 商城微网站建设方案深圳开发公司网站建设
  • 旅游网站开发价格怎么建设国际网站首页
  • 淄博网站建设程序网站上职业学校排名 该怎么做