网站制作技术培训学校,深圳网站建设公司的外文名是,昆明做网站找启搜网络,邯郸信息港房屋出售文章目录1.组合两个表基本信息要求答案2.第二高的薪水基本信息要求答案3.查找重复的电子邮箱基本信息要求答案4.超过经理收入的员工基本信息要求答案#xff1a;5.超过5名学生的课信息#xff1a;要求答案6.有趣的电影信息要求答案7.交换工资#xff08;updeta,条件判断5.超过5名学生的课信息要求答案6.有趣的电影信息要求答案7.交换工资updeta,条件判断基本信息要求答案8从不订购的客户信息要求答案使用的not in使用的not exists9.上升的温度(mysql函数to_days)信息要求答案10.删除重复的邮箱信息要求答案11.员工奖金(null的应用)信息要求12.查找订单最多的用户1.组合两个表
基本信息
表1: Person
列名类型PersonIdintFirstNamevarcharLastNamevarchar
PersonId 是上表主键 表2: Address
列名类型AddressIdintPersonIdintCityvarcharStatevarchar
AddressId 是上表主键
要求
编写一个 SQL 查询满足条件无论 person 是否有地址信息都需要基于上述两表提供 person 的以下信息
FirstName, LastName, City, State
答案
select Person.FirstName,Person.LastName,Address.City,Address.State
from Person left join Address on Person.PersonId Address.PersonId;2.第二高的薪水
基本信息
编写一个 SQL 查询获取 Employee 表中第二高的薪水Salary 。
IdSalary110022003300
要求
例如上述 Employee 表SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水那么查询应返回 null。
SecondHighestSalary200
答案
select (select DISTINCT Salary from Employee ORDER BY Salary DESC limit 1 offset 1
) as SecondHighestSalary;3.查找重复的电子邮箱
基本信息
编写一个 SQL 查询查找 Person 表中所有重复的电子邮箱。
示例
IdEmail1ab.com2cd.com3ab.com
要求
根据以上输入你的查询应返回以下结果
Emailab.com
说明所有电子邮箱都是小写字母。
答案
select Email from Person group by Email having count(Email)1;4.超过经理收入的员工
基本信息
Employee 表包含所有员工他们的经理也属于员工。每个员工都有一个 Id此外还有一列对应员工的经理的 Id。
IdNameSalaryManagerId1Joe7000032Henry8000043Sam60000NULL4Max90000NULL
要求
给定 Employee 表编写一个 SQL 查询该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中Joe 是唯一一个收入超过他的经理的员工。
EmployeeJoe
答案
Select e1.Name as Employee
from Employee e1 join Employee e2 on e1.ManagerId e2.Id and e1.Salary e2.Salary5.超过5名学生的课
信息
有一个courses 表 有: student (学生) 和 class (课程)。
请列出所有超过或等于5名学生的课。
例如,表:
studentclassAMathBEnglishCMathDBiologyEMathFComputerGMathHMathIMath
要求
应该输出:
classMath
Note: 学生在每个课中不应被重复计算。
答案
select class
from courses
group by class
having count(DISTINCT student) 5;6.有趣的电影
信息
某城市开了一家新的电影院吸引了很多人过来看电影。该电影院特别注意用户体验专门有个 LED显示板做电影推荐上面公布着影评和相关电影描述。
作为该电影院的信息部主管您需要编写一个 SQL查询找出所有影片描述为非 boring (不无聊) 的并且 id 为奇数 的影片结果请按等级 rating 排列。
例如下表 cinema:
idmoviedescriptionrating1Wargreat 3D8.92Sciencefiction8.53irishboring6.24Ice songFantacy8.65House cardInteresting9.1
要求
对于上面的例子则正确的输出是为
idmoviedescriptionrating5House cardInteresting9.11Wargreat 3D8.9
答案
select id,movie, description, rating
from cinema
where description !boring and id %21
order by rating desc;7.交换工资updeta,条件判断
基本信息
给定一个 salary 表如下所示有 m 男性 和 f 女性 的值。交换所有的 f 和 m 值例如将所有 f 值更改为 m反之亦然。要求只使用一个更新Update语句并且没有中间的临时表。
注意您必只能写一个 Update 语句请不要编写任何 Select 语句。
例如
idnamesexsalary1Am25002Bf15003Cm55004Df500
要求
运行你所编写的更新语句之后将会得到以下表:
idnamesexsalary1Af25002Bm15003Cf55004Dm500
答案
UPDATE salary
SET sexIF(sexf,m,f);8从不订购的客户
信息
某网站包含两个表Customers 表和 Orders 表。编写一个 SQL 查询找出所有从不订购任何东西的客户。
Customers 表
IdName1Joe2Henry3Sam4Max
Orders 表
IdCustomerId1321
要求
例如给定上述表格你的查询应返回
CustomersHenryMax
答案
使用的not in
select Name as Customers
from Customers
where Customers.Id not in (select Customers.Id from Orders where Customers.Id Orders.CustomerId);使用的not exists
select Name as Customers
from Customers
where not exists (select * from Orders where Customers.Id Orders.CustomerId);9.上升的温度(mysql函数to_days)
信息
给定一个 Weather 表编写一个 SQL 查询来查找与之前昨天的日期相比温度更高的所有日期的 Id。
Id(INT)RecordDate(DATE)Temperature(INT)12015-01-011022015-01-022532015-01-032042015-01-0430
例如根据上述给定的 Weather 表格返回如下 Id:
要求
Id24
答案
select w1.Id
from weather as w1,weather as w2
where w1.Temperature w2.Temperature and to_days(w1.RecordDate)-to_days(w2.RecordDate)1;10.删除重复的邮箱
信息
编写一个 SQL 查询来删除 Person 表中所有重复的电子邮箱重复的邮箱里只保留 Id 最小 的那个。
IdEmail1johnexample.com2bobexample.com3johnexample.com
Id 是这个表的主键。
要求
例如在运行你的查询语句之后上面的 Person 表应返回以下几行:
IdEmail1johnexample.com2bobexample.com
答案
delete p1
from Person p1, Person p2
where p1.Idp2.Id and p1.Email p2.Email;11.员工奖金(null的应用)
信息
select all employee’s name and bonus whose bonus is 1000.
Table:Employee
empIdnamesupervisorsalary1John310002Dan320003Bradnull40004Thomas34000
empId is the primary key column for this table. Table: Bonus
empIdbonus250042000
empId is the primary key column for this table.
要求
Example ouput:
namebonusJohnnullDan500Bradnull
选出所有奖金1000元的雇员姓名及奖金数额
答案
select name, bonus
from Employee e left join Bonus b
on e.empId b.empId
where bonus 1000 or bonus is null12.查找订单最多的用户