175. 组合两个表

表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 p.FirstName, p.LastName, a.City,a.State from Person p left join Address a on p.PersonId = a.PersonId 

176、

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。

+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+

例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null

+---------------------+
| SecondHighestSalary |
+---------------------+
| 200                 |
+---------------------+
select max(salary) as SecondHighestSalary from Employee where salary<(select max(Salary) from Employee)

原文地址:https://www.cnblogs.com/qiuyuyu/p/9148147.html

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

175. 组合两个表的相关文章

力扣leetcod 175:组合两个表

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

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

练习地址:https://leetcode-cn.com/problems/combine-two-tables/ 表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId 是上表主键 表2: Addres

数据库力扣题组合两个表

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

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

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

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

NNER JOIN连接两个表、三个表、五个表的SQL语句

NNER JOIN连接两个表.三个表.五个表的SQL语句 2013-04-14 15:13:11来源:西部e网作者: SQL INNER JOIN关键字表示在表中存在至少一个匹配时,INNER JOIN 关键字返回行. SQL INNER JOIN关键字表示在表中存在至少一个匹配时,INNER JOIN 关键字返回行. 1.连接两个数据表的用法: FROM Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSor

三种方法实现从“一个(组)查询过程中返回两个表的查询结果”

还记得開始做机房的时候,遇到了要从一个函数中返回两个表的查询结果.当时的解决方法非常"冲动"也非常"无拘无束",直接在实体类里边加入了其它表的实体,效果是达到了,但总认为不伦不类. 如今介绍三种解决上述问题的方法(代码为VB.net.系统使用三层架构). 题设要求:如果我如今要从卡表和学生表里返回查询信息(卡表的comment,money,status和学生表的所有信息),卡表和学生表例如以下: 图一  学生表 图二    卡表 方法一:视图. 比較简单,相信这样的

两个表联合查询获取聊天表中用户最新的一条聊天数据

一个用户表,一个聊天记录表,两个表联合查询获取聊天表中用户最新的一条聊天数据 select c.contentfrom sixin as c where c.tid = a.user_idorder by ctime desc limit 0,1) as content,(select c.statusfrom sixin as c where c.tid = a.user_idorder by ctime desc limit 0,1) as status from users as a, s