美文网首页
mysql 关联表 中间表查询

mysql 关联表 中间表查询

作者: 十一岁的加重 | 来源:发表于2018-04-19 22:50 被阅读566次

用户表User: id name phone
组表Group:id groupName
关联表(中间表):用户组User_Group id userId groupId

查询某个组里的所有用户

SELECT u.name, u.phone
FROM User u
WHERE EXISTS
(
    SELECT 1
    FROM User_Group u_g
    INNER JOIN Goup g
        ON g.id = u_g.groupId
    WHERE u_g.userId = u.id
    AND g.groupName = 'g1'
--    AND g.groupName RLIKE 'g1'
)

查询某个组里的姓名或者手机号的用户

SELECT u.name, u.phone
FROM User u
WHERE EXISTS
(
    SELECT 1
    FROM User_Group u_g
    INNER JOIN Goup g
        ON g.id = u_g.groupId
    WHERE u_g.userId = u.id
    AND g.groupName = 'g1'
-- -- 手机号模糊像、包含:明
   AND u.phone RLIKE '15198'
-- 名字模糊像、包含:明
--    AND u.name RLIKE '明'

)

那么问题来了,删除一个组,咋办,
得同时删除Group里的和user_Group里的

已解决
设置外键时,删除时的,操作


image.png

然后sql语句我们正常写就行, 执行以下的语句,就会在UserGroup表中删除groupName为测试组的所有记录,同时也会在User_Group表中删除groupId和
UserGroup表中groupName为测试组的id相同的所有记录。

DELETE FROM UserGroup  WHERE groupName = '测试组';

相关文章

  • mysql 关联表 中间表查询

    用户表User: id name phone组表Group:id groupName关联表(中间表):用户组Use...

  • mysql关联更新update

    mysql关联更新update,mysql关联修改 关联修改a表,将b表数据赋值给b表

  • MySQL 优化

    MySQL 优化 表关联查询时务必遵循小表驱动大表原则; 使用查询语句where条件时,不允许出现函数,否则索引会...

  • MySQL 优化点

    MySQL 优化 表关联查询时务必遵循小表驱动大表原则; 使用查询语句where条件时,不允许出现函数,否则索引会...

  • 关联关系查询(第一讲)

    关联查询 当查询内容涉及到具有关联关系的多个表时,就需要使用关联查询。根据表与表之间的关联关系的不同,关联查询分为...

  • mysql实现多表关联

    mysql实现多表关联 mysql关联单张表

  • SQL执行与优化

    SQL优化 执行计划,表关联查询顺序,优化策略与思路 MYSQL执行过程 一、MySQL架构总览: 二、查询执行流...

  • MySQL

    1、mysql in和exists区别 in是先进行子查询,然后将内表(子查询)与外表(主查询)进行hash关联(...

  • mybatis高级映射——(延迟加载)

    一.什么是延迟加载 延迟加载:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查...

  • 2018-08-15 视图 事务 自关联查询

    自关联查询 自关联:自连接查询其实等同于连接查询, 需要两张表,只不过它的左表(父表)和右表(子表) 都是自己。做...

网友评论

      本文标题:mysql 关联表 中间表查询

      本文链接:https://www.haomeiwen.com/subject/ndggkftx.html