• 入门数据库Days6


     表复制

    • 自我复制数据(蠕虫复制)                                                                                                     有时,为了对某个sql语句进行效率测试,我们需要海量数据时,可以使用此法为表创建海量数据。

    创建表

    1. INSERT INTO my_table
    2. (id,`name`,sal,job,deptno)
    3. SELECT empno,ename,sal,job,deptno FROM emp

    自我复制并统计

    1. INSERT INTO my_table
    2. SELECT * FROM my_table
    3. SELECT COUNT(*) FROM my_table

    如果多次进行自我复制,统计的值也会翻倍 

    例:如何删掉一张表的重复记录

    先创建一个table02表

     

     合并查询

     有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号  union,union all  union.sql

    union  all

    该操作符用于取得两个结果集的并集。当使用该操作符时,不会取消重复行。

    select ename,sal,job from emp where sal>2500 union
    1. SELECT ename,sal,job FROM emp WHERE sal>2500
    2. UNION ALL
    3. SELECT ename,sal,job FROM emp WHERE job='manager'

    union

     该操作符与union all 相似,但是会自动去掉结果集中重复行

    1. SELECT ename,sal,job FROM emp WHERE sal>2500
    2. UNION
    3. SELECT ename,sal,job FROM emp WHERE job='manager'

    外连接

    例:列出部门名称和这些部门的员工名称和工作。同时要求   显示出那些没有员工的部门

    左外连接

    如果左侧的表完全显示我们就说是左外连接

    右外连接

    如果右侧的表完全显示我们就说是右外连接

    先创建2个表

    使用左连接(显示所有人的成绩,如果没有成绩,也要显示该人的姓名和id号,成绩显示为空)

    这是一般情况下

    下面使用左外连接

    1. SELECT `name`,stu.`id`,grade
    2. FROM stu LEFT JOIN exam
    3. ON stu.id=exam.id;

     

     select ... from 表1 left join 表2 on  条件

    下面是使用右外连接

    1. SELECT `name`,stu.id,grade
    2. FROM stu RIGHT JOIN exam
    3. ON stu.id =exam.id;

    例:列出部门名称和部门的员工信息,同时列出那些没有员工的部门名(使用左外连接实现)

    1. SELECT dname,ename,job
    2. FROM dept LEFT JOIN emp
    3. ON dept.deptno=emp.deptno;

     以下是右外连接:

    1. SELECT dname,ename,job
    2. FROM emp RIGHT JOIN dept
    3. ON dept.deptno=emp.deptno;

     以上为今天的视频笔记,如有侵权请联系我删除。

    学习如逆水行舟,不进则退。和小吴一起加油吧 

  • 相关阅读:
    Flink SQL --命令行的使用(02)
    java计算机毕业设计水质监测数据采集系统源码+系统+数据库+lw文档+mybatis+运行部署
    JVM基础05_执行引擎
    ubuntu18.04安装显卡驱动,cuda,cudnn
    【golang学习之旅】Go中的变量——基本数据类型(1)
    十八张图带你入门实时监控系统HertzBeat
    【BMS软开系列】1、 ISO 26262功能安全标准 (二)
    fastadmin点击订单表用户ID,弹出用户详情资料
    (一)硬件描述语言verilog
    .NET6接入Skywalking链路追踪完整流程
  • 原文地址:https://blog.csdn.net/Wuweihendidiao/article/details/126183077