PHP算法练习2:(175. 组合两个表)

练习地址:https://leetcode-cn.com/problems/combine-two-tables/

表1: Person

+-------------+---------+
| 列名 | 类型 |
+-------------+---------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
+-------------+---------+
PersonId 是上表主键
表2: Address

+-------------+---------+
| 列名 | 类型 |
+-------------+---------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
+-------------+---------+
AddressId 是上表主键

编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息: 

FirstName, LastName, City, State

答案:

select
 a.FirstName,a.LastName,b.City,b.State
 from
 Person  a left join Address b
 on
  a.PersonId =b.PersonId

原文地址:https://www.cnblogs.com/8013-cmf/p/12411061.html

时间: 2024-11-07 16:51:58

PHP算法练习2:(175. 组合两个表)的相关文章

力扣leetcod 175:组合两个表

175:组合两个表 题: 表1: Person +-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+PersonId 是上表主键表2: Address +-------------+---------+| 列名 | 类型 |+-------------+

175. 组合两个表

表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId 是上表主键 表2: Address +-------------+---------+ | 列名 | 类型 | +-------------+---

LeetCode - 175. 组合两个表

题目 来源:力扣(LeetCode) 描述 表1: Person | 列名 | 类型 | | --------- | ------- | | PersonId | int | | FirstName | varchar | | LastName | varchar | PersonId 是上表主键 表2: Address | 列名 | 类型 | | --------- | ------- | | AddressId | int | | PersonId | int | | City | varc

数据库力扣题组合两个表

解析:首先是一个SQL查询语句,由条件组合两个表得出应该是连接查询,由条件无论Person表是否有地址信息,都要基于上述两表提供Person表的信息得出应该是用FROM字句中的左外连接,这样在结果集中保留了连接表达式左表中的非匹配记录. 知识点:详见教材P151.SQL查询语句分为简单,连接,嵌套,组合查询4种类型.连接查询中的连接条件可通过WHERE子句和FROM子句表示.WHERE子句表示的连接操作可分等值连接,非等值连接,自然连接.FROM子句表示的连接操作可分为内连接,左外连接,右外连接

leetcode组合两张表——oracle的左右连接运用

表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId 是上表主键 表2: Address +-------------+---------+ | 列名 | 类型 | +-------------+---

每天一个小算法(2)----合并两个有序链表

每天一个小算法还是有点没时间,尽量抽出时间写一写. 今天是合并有序的链表,对单链表有点忘了,尤其是指针指来指去的,有点晕,幸好基础还算好,想了想还是能想回来. 代码使用随机数函数生成一个链表,然后对链表排序,最后合并链表并打印,删除链表的函数于算法无关紧要,所以未实现^_^. 在Linux/g++下编译运行成功. 合并思路:和合并数组有些类同,比较两个节点的元素大小然后将小的摘下来尾插到链表bList中,然后指针指向下一个节点,最后直接把非空的链表合并到bList的末尾. 1 #include

sql两个表的组合查询以及yii下使用数据库查询

sql两个表的组合查询  使用 join on 例如:两个表查询: select u.username, t.title from user u join task t on u.id = t.id; 其中  user u 是用来把表名简化   join则是加入其他的表    on则是表示查询的条件   u.username 则是表示user表中的username字段 同样的道理  多表查询的原理也是一样的 这是sql语句: select * from user u join task t on

每天一个小算法(6)---- 通过两个栈实现一个队列

这个算法也很简单,定义两个栈m_aStack.m_bStack,m_aStack负责push()数据,m_bStack负责front()数据. 思路:每一次front()取数据都会检查一下m_bStack是否为空,为空则把m_aStack的所有数据pop()出来push()到m_bStack中. 因为STL里有stack,直接拿来用了,代码使用C++,在linux/g++下编译运行成功: 1 #include <stack> 2 #include <stdio.h> 3 #incl

【算法导论学习-016】两个已排过序的等长数组的中位数(median of two sorted arrays)

问题来源 <算法导论>P223 9.3-8: Let X[1..n] and Y[1..n] be two arrays, each containing nnumbers already in sorted order. Give an O(lgn)-time algorithm to find themedian of all 2n elements in arrays X and Y. 翻译过来即:求两个等长(n个元素)的已排序数组A和B的中位数 方案1:对两个数组进行归并直到统计到第n