这是您的表和联接的整套答案 .

Customer

CREATE TABLE customer (

customer_id int NOT NULL PRIMARY KEY AUTO_INCREMENT,

name varchar(50),

address varchar(100)

) ENGINE=InnoDB;

Product

CREATE TABLE product (

product_id int NOT NULL PRIMARY KEY AUTO_INCREMENT,

name varchar(50)

) ENGINE = InnoDB;

Bought or Transactions

CREATE TABLE bought (

id int NOT NULL PRIMARY KEY AUTO_INCREMENT,

product_id int,

customer_id int,

FOREIGN KEY (product_id) REFERENCES product(product_id),

FOREIGN KEY (customer_id) REFERENCES customer(customer_id)

) ENGINE=InnoDB;

INSERT values

INSERT INTO customer (name, address) VALUEs ("George","Kentucky")

INSERT INTO customer (name, address) VALUEs ("Stan","Dublin")

INSERT INTO customer (name, address) VALUEs ("Kazaam","UAE")

INSERT INTO customer (name, address) VALUEs ("Sarah","New York")

INSERT INTO product (name) VALUES ("tomato")

INSERT INTO product (name) VALUES ("apple")

INSERT INTO bought (customer_id, product_id) VALUEs("1","2")

INSERT INTO bought (customer_id, product_id) VALUEs("2","1")

INSERT INTO bought (customer_id, product_id) VALUEs("3","1")

INSERT INTO bought (customer_id, product_id) VALUEs("4","1")

Inner Join with Filter - >这将是您的$查询

SELECT customer.customer_id, customer.name as customer_name, product.name as product_name

FROM customer

INNER JOIN bought ON customer.customer_id = bought.customer_id

INNER JOIN product ON product.product_id = bought.product_id

WHERE product.name LIKE "apple" AND product.name NOT LIKE "tomato"

ORDER BY customer.name

这将过滤所有购买苹果的顾客 . 您所要做的就是更改 product.name 值 . 如果要更改字段,请更改 INNER JOIN 的第一行 .

Explanation of Venn Diagram: 如果你要考虑它,MySQL正在遵循维恩图的设计 . 它不能与3个对象相交并过滤它们 . 你试图通过在中间构建另一个圆圈来超越维恩图的设计 . 见下图 .

因此,为了解决PHP上的问题,我们创建了这个内圈 . 您运行循环以获取product_name上具有“apples”的所有customer_id . 然后再次执行一个mysql_fetch数组循环 . 并仅使用“apples”输出customer_ids .

如果你无法通过MySQL解决过滤问题,可以通过过滤数据来解决它 .

mysql中如何设置过滤器_在MySQL中使用过滤器连接多个到多个表相关推荐

  1. mysql的字符集设置为什么_为什么Mysql默认的字符集都是latin1

    为什么Mysql默认的字符集都是latin1 关注:151  答案:2  mip版 解决时间 2021-01-25 17:36 提问者旧梦已过期 2021-01-25 03:58 为什么Mysql默认 ...

  2. mysql慢查询设置无线_深入mysql慢查询设置的详解

    在web开发中,我们经常会写出一些SQL语句,一条糟糕的SQL语句可能让你的整个程序都非常慢,超过10秒一般用户就会选择关闭网页,如何优化SQL语句将那些运行时间 比较长的SQL语句找出呢?MySQL ...

  3. mysql编程题 请使用_练习题|MySQL

    MySQL主要内容: 1.数据库介绍.类型.特性 2.MySQL数据库安装.连接.启动.停止 3.表字段类型介绍.主键约束.表创建语句 4.常用增删改查语句.分组.聚合 5.外键管理.unique字段 ...

  4. mysql zerofill设置方法_在MySQL中使用ZEROFILL设置自定义自动增量

    让我们首先创建一个表.这里.我们使用ZEROFILL和AUTO_INCREMENT设置了UserId列mysql> create table DemoTable1831 ( UserId int ...

  5. mysql开启布隆过滤器_海量数据去重之布隆过滤器

    背景 在使⽤word⽂档时,word如何判断某个单词是否拼写正确? ⽹络爬⾍程序,怎么让它不去爬相同的url⻚⾯? 垃圾邮件(短信)过滤算法如何设计? 公安办案时,如何判断某嫌疑⼈是否在⽹逃名单中? ...

  6. mysql pmt函数怎么用_在Golang中如何正确地使用database/sql包访问数据库

    本文记录了我在实际工作中关于数据库操作上一些小经验,也是新手入门golang时我认为一定会碰到问题,没有什么高大上的东西,所以希望能抛砖引玉,也算是对这个问题的一次总结.其实我也是一个新手,机缘巧合几 ...

  7. mysql 重置root密码 远程访问_重置mysql的root密码以及设置mysql远程登陆权限

    root 密码忘记,重置mysql的root密码 :t 一.修改mysql的配置文件my.cnf 1. 在[mysqld]的段中加上一句:skip-grant-tables [mysqld] data ...

  8. mysql中下列关于创建_在 MySQL 中,下列关于创建数据库表的描述正确的是( )。_学小易找答案...

    [单选题]在表中设置外键实现的是哪一类数据完整性( ) [单选题]以下为概念模型的是() [论述题]• 参照 < 中国图书馆分类法 > ,谈一下你对自己所学专业在整个科学知识领域中所在的位 ...

  9. mysql去掉两个最高分_从MySQL中的单列获取最高得分值,从两列获取最高得分值...

    让我们首先创建一个表-mysql> create table DemoTable790 ( Score1 int, Score2 int ); 使用插入命令在表中插入一些记录-mysql> ...

  10. mysql 导入设置编码_从MySQL导出导入数据库的命令实例及设置会话字符编码

    1.导入导出 1.mysql导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > ...

最新文章

  1. 分段线性学习率extend_with_piecewise_linear_lr
  2. Spring Cloud 学习二(Eureka)
  3. Cocos2d-x 处理双击事件的两种方法
  4. 网络编程相关概念学习笔记
  5. java文件服务器开源,附架构师必备技术详解
  6. JavaScript中的Try...Catch 语句
  7. linux 卸载 usbmouse,8 Linux usbmouse设备驱动程序
  8. 【王道计组笔记】总线(1):总线的概念和分类
  9. jquery图表统计插件-highcharts详解
  10. Layui 左部菜单栏无限级分类
  11. 新年礼物第二弹,热升华机械键盘免费抽
  12. IT 运营管理 (ITOM)解决方案-OpManager Plus
  13. 《离散数学及其应用》【张清华版】 第四章习题总结
  14. 计算机键盘的大写键,Win10系统键盘大小写切换键(Caps Lock)失灵了如何解决
  15. 请画出使用mapreduce对英文句子_英文写作中有哪些常见的标点符号问题?小心你的essay会被教授diss不专业...
  16. python基础(08)——随机模块函数,字符串
  17. 全球四大卫星导航系统
  18. 如何成为牛逼的程序员
  19. Excel VBA获取选择文件的文件名称
  20. 【SQLServer】验证身份证号第18位校验码是否合法

热门文章

  1. 王者荣耀专区系统服务器繁忙,王者荣耀转区系统规则介绍 王者荣耀转服问题详解...
  2. html鼠标经过自动下拉菜单,js css鼠标悬停显示下拉菜单
  3. * 在线版大富翁游戏
  4. 【LaTeX 教程】06. LaTeX 插入表格
  5. 小程序:区域滚动、下拉刷新、上拉加载更多
  6. 最新导则下生态环评报告编制技术(报告篇、制图篇、指数篇、综合应用)
  7. android的各个版本和logo
  8. 贷款那些事之还款方式协议还款(三)
  9. 《现代电子技术》期刊简介
  10. 三角波的傅里叶变换对_线性代数之——基变换矩阵