MySQL8.0 关联查询-内连接(等值连接、非等值连接和自连接)、外连接(左外连接和右外连接),数据库的备份与恢复

多表设计,关联查询

-- 多表设计,关联查询
-- 笛卡尔积现象(几乎不用)
SELECT* FROM t_student,grade -- 查询的结果不是我们先要的
-- 内连接
-- 1.等值连接  2.非等值连接 3.自连接
-- ---------------------------------------------------------------------------------------
-- 等值连接
-- 方式1 采用inner join方式  语法:select 结果 form 表名1 inner join 表名2 on 连接条件
SELECT * FROM t_student INNER JOIN grade ON grade_id =  id
-- select num,name,name from t_student inner join grade on grade_id = id  -- 查询的结果中有重名现象,所以需要起别名。报错Column 'name' in field list is ambiguous

SELECT
  s.num,
  s.NAME,
  g.NAME
FROM
  t_student s
  INNER JOIN grade g
    ON s.grade_id = g.id
    
-- 方式二 采用where方式   语法:select 结果 form 表名1,表名2 where 连接条件
SELECT
  s.num,
  s.NAME,
  g.NAME
FROM
  t_student s,
  grade g
WHERE s.grade_id = g.id

-- ---------------------------------------------------------------------------------------------
ALTER TABLE t_student ADD score INT
CREATE TABLE score_lever( NAME VARCHAR(2),lower_score INT ,upper_score INT)

-- 非等值连接
SELECT*
FROM
  t_student s
  INNER JOIN score_lever sl
    ON s.score BETWEEN sl.lower_score
    AND upper_score
    
-- ---------------------------------------------------------------------------------------------

-- 自连接
CREATE TABLE t_area(
id INT,NAME VARCHAR(20),pid INT)

SELECT*
FROM
  t_area t1
  INNER JOIN t_area t2
    ON t1.pid = t2.pid
    
    -- -------------------------------------------------------------------------------------------------
    -- 外连接
    -- 左外链接 以左边的表为主进行查询。以左边的表为主进行查询无论条件是否满足都会将左边数据查询出来
SELECT
  s.num,
  s.NAME,
  g.NAME
FROM
  t_student s
  LEFT JOIN grade g
    ON s.grade_id = g.id
 -- -------------------------------------------------------------------------------------------------------   
    -- 右外连接 以右边的表为主进行查询
SELECT
  s.num,
  s.NAME,
  g.NAME
FROM
  t_student s
  RIGHT JOIN grade g
    ON s.grade_id = g.id
    
  --左外连接和右外连接的区别如分析

左外连接和右外连接区别:
新建学生表如下图所示:
在这里插入图片描述
新建年级表如下图所示:
在这里插入图片描述

左查询后的结果:
在这里插入图片描述
右查询后的结果:
在这里插入图片描述

数据库的备份与恢复

使用sqlyog客户端工具进行数据库的备份操作
在修改删除数据之前最好对数据库进行备份
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值