总结vue3 的一些知识点:MySQL 连接的使用
2023-06-09 02:10:03 来源:博客园
MySQL 连接的使用
在前几章节中,我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。
本章节我们将向大家介绍如何使用 MySQL 的 JOIN 在两个或多个表中查询数据。
你可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询。
(资料图)
JOIN 按照功能大致分为如下三类:
- INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
- **LEFT JOIN(左连接):**获取左表所有记录,即使右表没有对应匹配的记录。
- RIGHT JOIN(右连接):与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
本章节使用的数据库结构及数据下载:kxdang-mysql-join-test.sql。
在命令提示符中使用 INNER JOIN
我们在RUNOOB数据库中有两张表 tcount_tbl 和 kxdang_tbl。两张数据表数据如下:
实例
尝试以下实例:
测试实例数据
mysql> use RUNOOB;Database changedmysql> SELECT * FROM tcount_tbl;+---------------+--------------+| kxdang_author | kxdang_count |+---------------+--------------+| 菜鸟教程 | 10 || RUNOOB.COM | 20 || Google | 22 |+---------------+--------------+3 rows in set (0.01 sec) mysql> SELECT * from kxdang_tbl;+-----------+---------------+---------------+-----------------+| kxdang_id | kxdang_title | kxdang_author | submission_date |+-----------+---------------+---------------+-----------------+| 1 | 学习 PHP | 菜鸟教程 | 2017-04-12 || 2 | 学习 MySQL | 菜鸟教程 | 2017-04-12 || 3 | 学习 Java | RUNOOB.COM | 2015-05-01 || 4 | 学习 Python | RUNOOB.COM | 2016-03-06 || 5 | 学习 C | FK | 2017-04-05 |+-----------+---------------+---------------+-----------------+5 rows in set (0.01 sec)
接下来我们就使用MySQL的**INNER JOIN(也可以省略 INNER 使用 JOIN,效果一样)**来连接以上两张表来读取kxdang_tbl表中所有kxdang_author字段在tcount_tbl表对应的kxdang_count字段值:
INNER JOIN
mysql> SELECT a.kxdang_id, a.kxdang_author, b.kxdang_count FROM kxdang_tbl a INNER JOIN tcount_tbl b ON a.kxdang_author = b.kxdang_author;+-------------+-----------------+----------------+| a.kxdang_id | a.kxdang_author | b.kxdang_count |+-------------+-----------------+----------------+| 1 | 菜鸟教程 | 10 || 2 | 菜鸟教程 | 10 || 3 | RUNOOB.COM | 20 || 4 | RUNOOB.COM | 20 |+-------------+-----------------+----------------+4 rows in set (0.00 sec)
以上 SQL 语句等价于:
WHERE 子句
mysql> SELECT a.kxdang_id, a.kxdang_author, b.kxdang_count FROM kxdang_tbl a, tcount_tbl b WHERE a.kxdang_author = b.kxdang_author;+-------------+-----------------+----------------+| a.kxdang_id | a.kxdang_author | b.kxdang_count |+-------------+-----------------+----------------+| 1 | 菜鸟教程 | 10 || 2 | 菜鸟教程 | 10 || 3 | RUNOOB.COM | 20 || 4 | RUNOOB.COM | 20 |+-------------+-----------------+----------------+4 rows in set (0.01 sec)
MySQL LEFT JOIN
MySQL left join 与 join 有所不同。 MySQL LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。
实例
尝试以下实例,以kxdang_tbl为左表,tcount_tbl为右表,理解 MySQL LEFT JOIN 的应用:
LEFT JOIN
mysql> SELECT a.kxdang_id, a.kxdang_author, b.kxdang_count FROM kxdang_tbl a LEFT JOIN tcount_tbl b ON a.kxdang_author = b.kxdang_author;+-------------+-----------------+----------------+| a.kxdang_id | a.kxdang_author | b.kxdang_count |+-------------+-----------------+----------------+| 1 | 菜鸟教程 | 10 || 2 | 菜鸟教程 | 10 || 3 | RUNOOB.COM | 20 || 4 | RUNOOB.COM | 20 || 5 | FK | NULL |+-------------+-----------------+----------------+5 rows in set (0.01 sec)
以上实例中使用了 LEFT JOIN,该语句会读取左边的数据表 kxdang_tbl 的所有选取的字段数据,即便在右侧表 tcount_tbl中 没有对应的 kxdang_author 字段值。
MySQL RIGHT JOIN
MySQL RIGHT JOIN 会读取右边数据表的全部数据,即便左边边表无对应数据。
实例
尝试以下实例,以kxdang_tbl为左表,tcount_tbl为右表,理解MySQL RIGHT JOIN的应用:
RIGHT JOIN
mysql> SELECT a.kxdang_id, a.kxdang_author, b.kxdang_count FROM kxdang_tbl a RIGHT JOIN tcount_tbl b ON a.kxdang_author = b.kxdang_author;+-------------+-----------------+----------------+| a.kxdang_id | a.kxdang_author | b.kxdang_count |+-------------+-----------------+----------------+| 1 | 菜鸟教程 | 10 || 2 | 菜鸟教程 | 10 || 3 | RUNOOB.COM | 20 || 4 | RUNOOB.COM | 20 || NULL | NULL | 22 |+-------------+-----------------+----------------+5 rows in set (0.01 sec)
以上实例中使用了 RIGHT JOIN,该语句会读取右边的数据表 tcount_tbl 的所有选取的字段数据,即便在左侧表 kxdang_tbl 中没有对应的kxdang_author 字段值。
在 PHP 脚本中使用 JOIN
PHP 中使用 mysqli_query() 函数来执行 SQL 语句,你可以使用以上的相同的 SQL 语句作为 mysqli_query() 函数的参数。
尝试如下实例:
MySQL ORDER BY 测试:
菜鸟教程 MySQL JOIN 测试";echo "
教程 ID 作者 登陆次数 ";while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)){ echo " {$row["kxdang_id"]} ". "{$row["kxdang_author"]} ". "{$row["kxdang_count"]} ". " ";}echo "
";mysqli_close($conn);?>
关键词:
为你推荐
-
总结vue3 的一些知识点:MySQL 连接的使用
-
怀旧服爆本了多久才能进去 怀旧服爆本要等多久_焦点滚动
-
即时焦点:6月8日龙虎榜:2.84亿抢筹四川长虹 机构净买入10只股
-
环球快消息!普通百姓家庭,需要储备多少现金合适?答案来了
-
通讯!韩系豪华车 要打BBA的市场了?
-
世界短讯!中国软件国际(00354)推出三款自研数据库衍生工具 发挥优势扩展GaussDB数据库能力版图
-
中国重汽:目前公司的销量数据中包含通过贸易方式采购自中国重汽济宁商用车公司的产品 动态
-
超重低音dj劲爆震撼 超重水
-
2023陕西汉中华阳景区中高考生免费活动
-
数据复盘:超11亿净流入家电 龙虎榜抢筹四川长虹_环球快看点
-
历史上最怕老婆的皇帝-杨坚-动态焦点
-
iOS 17 隐藏新特性:增强 Siri 建议、呼唤 Apple Watch 等
-
【高考为何这样考】学习卡丨2023高考全国卷理综物理命题解析来了-当前视点
-
简讯:南宁市万人应急救护暨防溺水知识技能培训走进粤桂小学
-
环球要闻:贵研铂业:获得1.16亿元政府补助
-
天天资讯:国网黑龙江绥化供电开展中高考前家长状态调适讲座
-
中考作文满分的三大写作技巧
-
当前关注:兔宝宝(002043)龙虎榜数据(06-08)
-
市场指导价52.18万元 奥迪S4 Avant正式上市|今热点
-
小麦已拿下利物浦仍待签中场 目标五人组谁先来?-天天快播报
推荐内容
- 总结vue3 的一些知识点:MySQL 连接的使用
- 怀旧服爆本了多久才能进去 怀旧服爆本要等多久_
- 即时焦点:6月8日龙虎榜:2.84亿抢筹四川长虹 机
- 环球快消息!普通百姓家庭,需要储备多少现金合适
- 通讯!韩系豪华车 要打BBA的市场了?
- 世界短讯!中国软件国际(00354)推出三款自研数据
- 中国重汽:目前公司的销量数据中包含通过贸易方式
- 超重低音dj劲爆震撼 超重水
- 2023陕西汉中华阳景区中高考生免费活动
- 数据复盘:超11亿净流入家电 龙虎榜抢筹四川长虹
- 历史上最怕老婆的皇帝-杨坚-动态焦点
- iOS 17 隐藏新特性:增强 Siri 建议、呼唤 Apple Watch 等
- 【高考为何这样考】学习卡丨2023高考全国卷理综物
- 简讯:南宁市万人应急救护暨防溺水知识技能培训走
- 环球要闻:贵研铂业:获得1.16亿元政府补助
- 天天资讯:国网黑龙江绥化供电开展中高考前家长状
- 中考作文满分的三大写作技巧
- 当前关注:兔宝宝(002043)龙虎榜数据(06-08)
- 市场指导价52.18万元 奥迪S4 Avant正式上市|今热点
- 小麦已拿下利物浦仍待签中场 目标五人组谁先来?
- 首个文心千帆大模型平台在无锡成立 天天观焦点
- 携程集团发布2023Q1财报:净营收92亿元 同比增长
- MCN板块龙头股票有哪些?(2023/6/8)_环球简讯
- 春种一粒粟,秋收万颗子 | 大规模种质资源基因
- 君实生物(688180.SH):目前民得维?已被纳入临时国
- 天天热消息:东星医疗:接受东海证券等机构调研
- 最新资讯:小摩:予招商银行(03968)“增持”评级
- 体恤衫图片_体恤衫
- 开通“绿色通道”,郑州公安随时为考生提供户籍应
- 环球即时看!第三届中国智能汽车创新大会在深举行
- 攀枝花学院获颁“四川省哲学社会科学重点实验室”
- 长高电新(002452.SZ):正在开展衡阳产业园扩产
- 税收红利精准直达 经营主体减压力强信心 即时焦点
- 全球焦点!泰恩康(301263):6月7日北向资金增持
- 小鹏汽车2023年一季报简析:抄底机会,还是陷阱?
- 亚联发展:目前公司未参与《深圳市加快推动人工智
- 全球看点:【护航高考】“幸亏遇到了你们!”
- 天天资讯:【收评】20号胶日内上涨2.09% 近5日
- 树牢底线思维 强化风险防控 坚决遏制校园安全事
- 娄底职院与涟源市枫坪镇校地结对共建社区学院 天
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市