05-mysql02课程笔记.docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05-mysql02课程笔记

Mysql day02课程内容简介 1: 数据库查询关联查询之多表查询 内连接 外链接 隐式内连接 2: 数据库查询关联查之子查询3: 数据库之表设计一对一一对多多对多4: 数据库多表设计sql语句(外键约束) 5: 数据库查询案例数据库关联查询导入脚本 sql 多表查询之笛卡尔积说明笛卡尔积概念的说明开发中涉及到多表联查第一步多表连接建立笛卡尔积!!如何进行笛卡尔积筛选呢?? 表和表之间关联字段!!多表联查之隐式连接说明1: 隐式连接多表 select * from 表1,表2,表3....修改原先笛卡尔积表sql 语句select * from emp,dept;---->结果有效数据!!小节多表隐式连接多表联查之内链接说明(join on 代替)1: join 连接 on 表示连接条件不使用where 作为我们的笛卡尔积筛选条件默认不写inner 内连接.效果同上隐式连接!!多表联查之外链接说明(只能用join on )问题: 在何种情况会使用外链接.内连接和外链接区别 :内连接: 表示两种表的记录要同时存在1: dept 表添加一个部门该部门是没有员工.内连接连接效果: 只有两张表对应数据才会显示出来!!!要求 : 两张表记录必须要有对应数据记录才会显示!!2: 查询所有部门的信息以及员工信息...内连接结果不会显示60部门!! 但是需求: 要求显示所有部门 ...外链接!!!要求部门信息全部出来外链接表的位置确定 : 部门表驱动表员工表: 关联表驱动的数据会全部显示结果显示:驱动表数据全部显示.多表联查之子查询来自百度一条sql 语句当需要从一个表中检索信息,当检索条件值又是来自该表本身的内部数据时,子查询非常有用。子查询可以嵌入以下SQL子句中:where子句、having子句和from子句。语句结构简单可读性强.子查询查询顺序, 先执行子查询,获取结果之后再执行外部语句所以效率比较低!单行子查询内部select语句只返回一行结果的查询(单列)。主查询的where子句使用单行子查询返回结果要采用单行比较运算符(=、>、>=、<、<=、<>)。1.1例:查询工资比编号为6号雇员工资高的雇员姓名。SQL>select enamefrom empwhere sal>(select salfrom empwhere empno=6)orderby ename;说明:(1)子查询要用括号括起来;(2)将子查询放在比较运算符的右边;(3)不要在子查询中使用order by子句,select语句中只能有一个order by子句,并且它只能是主select语句的最后一个子句。where子句中使用单行子查询案例一例:显示和雇员scott同部门的雇员姓名、工资和部门编号。SQL>select ename,sal,deptnofrom empwhere deptno=(select deptnofrom empwhere ename='SCOTT');显示结果:ENAME SAL DEPTNO---------- --------- ------SMITH 800.00 20JONES 2975.00 20SCOTT 3000.00 20ADAMS 1100.00 20FORD 3000.00 20案例二练习:显示和雇员SCOTT从事相同工作,并且工资大于JAMES的雇员姓名、工作和工资。SQL>select ename,job,salfrom empwhere job=(select job from emp where ename='SCOTT')and sal>(select sal from emp where ename='JAMES');ENAME JOB SAL---------- --------- ---------SCOTT ANALYST 3000.00FORD ANALYST 3000.00单行子查询中使用组函数案例例:显示工资最低的雇员姓名、工作和工资。SQL> select ename,job,sal from emp where sal=(select min(sal) from emp);ENAME JOB SAL---------- --------- ---------SMITH CLERK 800.00课堂练习:显示工资最高的雇员姓名、工作和工资。having子

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档