首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在MySQL数据库中搜索多个表

在MySQL数据库中搜索多个表
EN

Stack Overflow用户
提问于 2015-05-12 19:31:49
回答 2查看 56关注 0票数 0

我的数据库(MySQL)中有几个不同的表。

这是桌子的相关沙发

table_tournaments

  1. tournamentId
  2. tournamnetName
  3. tournamentStatus

table_tournament_results

  1. tournamentId
  2. playerId
  3. playerName
  4. playerRank
  5. tournamnetParticipants

table_players

  1. playerId
  2. playerName

“锦标赛”表包含有关锦标赛的信息,“锦标赛结果”表显示该表的结果。

我想按名称搜索锦标赛表,然后用返回的结果从锦标赛结果表中获取信息。

代码语言:javascript
运行
AI代码解释
复制
    SELECT * FROM `tournaments` `WHERE` `tournamentName` LIKE "%Query%"

我不知道该怎么做,也许我需要通过PHP做点什么,任何和所有的帮助都是值得感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-12 19:38:23

您可以使用join操作获得所需的结果。

这是一个外部联接的示例,它返回t中的所有行,其中字符串'foo'显示为tournament_name的一部分,以及来自r的任何匹配行。

两个表中的行之间的关系是通过将公共值存储在两个表的tournamentId列中来建立的。ON子句中的谓词指定确定行是否“匹配”的条件。

代码语言:javascript
运行
AI代码解释
复制
 SELECT t.tournamentId
      , t.tournamentName
      , t.tournamentStatus
      , r.playerId
      , r.playerName
      , r.playerRank
   FROM table_tournaments t
   LEFT
   JOIN table_tournament_results r
     ON r.tournamentId = t.tournamentId
  WHERE t.tournament_name LIKE '%foo%'
  ORDER
     BY t.tournamentId
      , r.playerId

表名后面出现的tr是表别名,我们可以通过在列名前面加上表别名和点来限定对每个表中列的引用。这使得列引用明确无误。(对于tournamentId,MySQL不知道您指的是t还是r中的列,因此我们限定它以使其显式化。对于所有列引用,我们都遵循相同的模式。然后,读语句的人不需要想知道哪个表包含列playerId

票数 2
EN

Stack Overflow用户

发布于 2015-05-12 19:44:16

您的查询可能如下所示

代码语言:javascript
运行
AI代码解释
复制
SELECT a.*, b.tournamnetName FROM table_tournament_results a 
left join table_tournaments on a.tournamentId=b.tournamentId
WHERE b.tournamnetName LIKE "%Query%"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30205164

复制
相关文章
mysql单个表拆分成多个表
一.横向拆分 create table 新表的名称 select * from 被拆分的表 order by id limit int1,int2 int1为其实位置,int2为几条 注意:这样拆分后主键会失效手动让其主键生效即可所有要执行 alter table 新表的名称 modify 主键字段 int primary key auto_increment 二.纵向拆分 create table 新表的名称 select 需保留的字段 from 被拆分的表 拆分后原表都要保存 主要是把经常查的数据
小小咸鱼YwY
2020/06/19
3.8K0
mysql数据库(7):表中检索信息
方法一:先删除用 DELETE FROM pet;  去修改txt中内容,再LOAD DATA LOCAL INFILE 'D:/test/pet.txt' INTO TABLE pet;
川川菜鸟
2021/10/18
4.5K0
Excel小技巧54: 同时在多个工作表中输入数据
很多情形下,我们都需要在多个工作表中有同样的数据。此时,可以使用Excel的“组”功能,当在一个工作表中输入数据时,这些数据也被同时输入到其它成组的工作表中。
fanjy
2020/09/10
3.3K0
Excel小技巧54: 同时在多个工作表中输入数据
在python中操作MySQL数据库
本篇主要介绍如何使用pymysql操作数据库,下面直接进入正文 1.查询数据 # coding: utf-8 # author: hmk import pymysql.cursors # 连接数据库 conn = pymysql.connect(host='localhost', # 数据库地址 port=3306, #端口默认是3306,不写这个也可以,如果不是3306则需要在此声明 user='root',
冰霜
2022/03/15
4.5K0
mysql清空表数据_mysql数据库之如何清空表中数据「建议收藏」
本篇文章主要讲述的是在数据库中使用清空命令,具有一定学习价值,有需要的朋友可以了解一下,希望能够对你有所帮助。
全栈程序员站长
2022/06/29
9.7K0
mysql清空表数据_mysql数据库之如何清空表中数据「建议收藏」
读取Mysql数据库表结构到PowerDesigner中
在梳理数据库表关系结构时,表多的情况如何将mysql数据库的表关系导入到powerdesigner中,这就有必要去做一个了解。本小节来写一下
在水一方
2022/06/14
7.6K0
读取Mysql数据库表结构到PowerDesigner中
如何在MySQL数据库中创建新表
[IF NOT EXISTS]主要是用于判定新建的表是否存在 engine需要指定存储引擎。可以使用任何存储引擎,如:InnoDB,MyISAM,HEAP,EXAMPLE,CSV,ARCHIVE,MERGE, FEDERATED或NDBCLUSTER。如果不明确声明存储引擎,MySQL将默认使用InnoDB。 column_list较为复杂,为指定表的列表。字段的列用逗号(,)分隔。 column_list的语法如下:
用户7639835
2021/08/26
10.1K0
mysql数据库(6):将数据装入表中
mysql> INSERT INTO pet -> VALUES('hanhan','川川','hh','f','2021-7-21',NULL);
川川菜鸟
2021/10/18
3.1K0
【MySQL基础】mysql 导入文件中的数据到数据库表
通过以下命令可以导入指定文件格式的数据到mysql表中: LOAD DATA LOCAL INFILE '/tmp/002.txt' INTO TABLE user_info CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n'(name,age,address,gender); 文件/tmp/002.txt格式内容如下: name,age,address,gen
青山师
2023/05/04
4K0
MySQL事务中更新多个表数据时,某些表不支持事务会发生什么???
首先新建三张表:user、company、school。我们知道InnoDB引擎是支持事务的,而MyISAM引擎不支持事务,因此,在这里,我使用InnoDB作为user和school两个表的引擎,而使用MyISAM作为company的引擎。三个表结构很简单,数据类型什么的我就不放出来了,把表数据列在下面。
码农编程进阶笔记
2021/11/12
1.9K0
在MySQL中创建Oracle中的dept、emp、bonus、salgrade表
Oracle数据库中自带的4张表: dept、emp、bonus和salgrade是练习SQL查询的经典案例表,本文提供在MySQL中建这4张表的SQL语句
CoderJed
2018/09/13
6.7K0
python在mysql数据库中存取emoji😀
emoji就是我们聊天的时候的特殊表情, 是特殊字符(非字符串), unicode编码起始为 1F600 , 占用4个字节, 不同的终端显示可能不同,但是都是表示的同一个对象.
大大刺猬
2022/11/25
3.8K0
MySQL 搭建数据库表
通过 mysql> 命令窗口可以很简单的创建MySQL数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。
用户1685462
2021/08/27
10.5K0
MySQL 数据库表分区.
MySQL 数据库在 5.1 版本时添加了对分区(partitioning)的支持。分区的过程是将一个表或索引分解成多个更小、更可管理的部分。就访问数据库的应用而言,从逻辑上来讲,只有一个表或一个索引,但是在物理上这个表或索引可能由数十个物理分区组成。
JMCui
2020/08/02
9.2K0
mysql数据库查询表中相邻数据的差值
select a.time ,a.sum - b.sum sum,a.time,b.time from (select @arownum:=@arownum+1 rownum,sum ,time from summary_hour,(select @arownum:=0) t where energy_type= 1 order by time) a, (select @brownum:=@brownum+1 rownum ,sum,time from summary_hour,(select @b
二十三年蝉
2018/08/01
5.9K0
PHP MySQL向数据库表中插入新记录
INSERT INTO table_name (column1,column2,...)
哆哆Excel
2022/10/25
20.5K0
PHP MySQL向数据库表中插入新记录
Excel公式技巧14: 在主工作表中汇总多个工作表中满足条件的值
我们可能熟悉使用INDEX、SMALL等在给定单列或单行数组的情况下,返回满足一个或多个条件的值的列表。这是一项标准的公式技术。
fanjy
2020/03/12
9.2K0
MySQL(十)操纵表及全文本搜索
MySQL不仅用于表数据操作,还可以用来执行数据库和表的所有操作,包括表本身的创建和处理。
allsmallpig
2021/02/25
2K0
mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据…[通俗易懂]
2、在mysql安装目录下,新建my.ini文件,设置默认字符集、端口、存储引擎等;
全栈程序员站长
2022/06/28
19.8K0
mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据…[通俗易懂]
MySQL数据库语法_mysql建立学生表数据库
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
15.3K0

相似问题

在中搜索多个MySql表

16

在多个表中搜索mysql

220

Mysql,在多个表中搜索

30

在mysql中搜索多个表

11

在mysql中搜索多个表

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文