zoukankan      html  css  js  c++  java
  • mysql+sqlyog 多表查询练习

    #创建部门表
    CREATE TABLE dept(
        id INT PRIMARY KEY AUTO_INCREMENT,
        NAME VARBINARY(20)
    );
    INSERT INTO dept(NAME) VALUES("开发部"),("市场部"),("财务部");
    
    #创建员工表
    CREATE TABLE emp(
        id INT PRIMARY KEY AUTO_INCREMENT,
        NAME VARBINARY(10),
        gender CHAR(1),#性别
        salary DOUBLE,#薪水
        join_date DATE,#入职日期
        dept_id INT,
        FOREIGN KEY (dept_id) REFERENCES dept(id) #外键,关联部门表(部门表的主键)
    
    );
    
    INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES ('孙悟空','',7200,'2013-02-21',1);
    INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES ('猪八戒','',3600,'2010-12-02',2);
    INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES ('唐僧','',9000,'2008-08-08',2);
    INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES ('白骨精','',5000,'2015-10-07',3);
    INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES ('蜘蛛精','',4500,'2011-03-14',1);

    SELECT COUNT(*) FROM emp,dept;

    #笛卡尔积 A,B 两个集合,取这两个集合的所有组成情况

    SELECT * FROM emp,dept;

    #消除无用的数据,内连接查询,外链接查询,子查询

    #查询所有员工信息和对应的部门信息
    SELECT * FROM emp , dept WHERE emp.`dept_id` = dept.`id`;

    id name gender salary join_date dept_id id name
    1 孙悟空 男 7200 2013-02-21 1 1 开发部
    2 猪八戒 男 3600 2010-12-02 2 2 市场部
    3 唐僧 男 9000 2008-08-08 2 2 市场部
    4 白骨精 女 5000 2015-10-07 3 3 财务部
    5 蜘蛛精 女 4500 2011-03-14 1 1 开发部

    #查询员工表的名称,员工表的性别,部门名称

    SELECT emp.`name` , emp.`gender`,dept.`name` FROM emp,dept WHERE emp.`dept_id` = dept.`id`;

    SELECT
    t1.name,t1.gender,t2.name
    FROM
    emp t1,dept t2
    WHERE
    t1.`dept_id` = t2.`id`;

    name gender name
    孙悟空 男 开发部
    猪八戒 男 市场部
    唐僧 男 市场部
    白骨精 女 财务部
    蜘蛛精 女 开发部




    #左外连接 查询左表的所有数据以及其交集部分

    SELECT t1.*,t2.`name` FROM emp t1 LEFT JOIN dept t2 ON t1.`dept_id` = t2.`id`;

    id name gender salary join_date dept_id name
    1 孙悟空 男 7200 2013-02-21 1 开发部
    5 蜘蛛精 女 4500 2011-03-14 1 开发部
    2 猪八戒 男 3600 2010-12-02 2 市场部
    3 唐僧 男 9000 2008-08-08 2 市场部
    4 白骨精 女 5000 2015-10-07 3 财务部

    #右外连接


    SELECT t1.*,t2.`name` FROM emp t1 RIGHT JOIN dept t2 ON t1.`dept_id` = t2.`id`;

  • 相关阅读:
    [WARNING] 找不到编译器:wepy-compiler-less。 [Error] 未发现相关 less 编译器配置,请检查wepy.config.js文件。
    wepy-cli : Failed to download repo standard: getaddrinfo ENOENT raw.githubusercontent.com
    火币Huobi 币安 Binance ios 反编译
    iPhone 反编译-微信多开分身版原理,一部iPhone登录多个微信号
    安卓微信分身版 一部手机同时登录多个微信号 原理
    微信smali反编译 查看撤回消息
    微信抢红包
    Dota2 荒神罪 破解
    微信smali反编译 语音消息转发功能
    mac安装mysql流程
  • 原文地址:https://www.cnblogs.com/woaiacfun/p/11042938.html
Copyright © 2011-2022 走看看