数据库力扣刷题(组合两个表)

知识点

一个概念:架构,架构是指用于存储数据库对象的一个命名空间。用于管理数据库对象子集,这样极大的方便地方便并简化了管理数据库对象。

175.组合两个表

题目描述:编写一个SQL查询来报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为空 null 。

以 任意顺序 返回结果表。

sql 复制代码
Person表
 +-------------+---------+
| 列名         | 类型     |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
personId 是该表的主键列。
该表包含一些人的 ID 和他们的姓和名的信息。
sql 复制代码
Address表
+-------------+---------+
| 列名         | 类型    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
addressId 是该表的主键列。
该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。

知识点:两个表的链接中,无非要用到如下几个

left join: 左连接,形如A left join B ,即查询结果为包含A的全部,B中没有的值就为NULL

right join: 右连接,形如A right join B,取B全部,A没有对应的值,则为NULL

inner join:内连接,形如A inner join B,取交集

full outer join:全连接,形如A full outer join B:取并集,彼此没有对应的值为null

之后如果有查询条件则为:on后面加条件

sql 复制代码
select FirstName,LastName,City,State from Person p left join Address a on p.PersonId=a.PersonId
相关推荐
hz567896 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC6 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday6 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
Navigator_Z6 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
半杯咖啡半行码6 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦7 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新7 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
圣保罗的大教堂8 小时前
leetcode 301. 删除无效的括号 困难
leetcode
邓工说电8 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技
adinnet20268 小时前
企业微调大模型(Fine-tuning):先吃透 RAG 还是先训自己的模型
大数据·数据库