面试题目(sql)
1、忍不住想说一句,因为第一题中的字段类型是
【日期型】,而各种数据库操作日期型数据有不同的方法,没有一种共通的方法,所以脱离了数据库而言没有一种共通的sql。
2、select
ID,NAME,ADDRESS,PHONE,LOGDATE
Where
select
group
having
count(*)>1)
order
NAME;
3、delete
where
(select
min(id)
group
name);
4、update
T.ADDRESS=(select
E.ADDRESS
where
E.NAME=T.NAME),
T.PHONE=(select
E.PHONE
where
E.NAME=T.NAME);
5、这个不同的数据库也有不同的处理方法,不能脱离数据库谈了。
如:SqlServer或者access可以使用
oracle可以使用
rownum
以上,希望对你有所帮助。
经典面试题-大厂SQL题目
给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。Customers 表:Orders 表:例如给定上述表格,你的查询应返回:例如,给定上面的 Logs 表, 1 是唯一连续出现至少三次的数字。例如,根据上述给定的 scores 表,你的查询应该返回(按分数从高到低排列):例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如果不存在第 n 高的薪水,那么查询应返回 null。假如数据输入的是上表,则输出结果如下:如果学生人数是奇数,则不需要改变最后一个同学的座位。正确答案:例如,根据上述给定的 Weather 表格,返回如下 Id:Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。Department 表包含公司所有部门的信息。编写一个 SQL 查询,找出每个部门工资最高的员工。例如,根据上述给定的表格,max 在 IT 部门有最高工资,Henry 在 Sales 部门有最高工资。表1: PersonPersonId 是上表主键表2: AddressAddressId 是上表主键编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State注意,您必只能写一个 Update 语句,请不要编写任何 Select 语句。运行你所编写的更新语句之后,将会得到以下表:这里有张 World 表如果一个国家的面积超过300万平方公里,或者人口超过2500万,那么这个国家就是大国家。编写一个SQL查询,输出表中所有大国家的名称、人口和面积。例如,根据上表,我们应该输出:Id 是这个表的主键。例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id 。Department 表包含公司所有部门的信息。编写一个 SQL 查询,找出每个部门工资前三高的员工。例如,根据上述给定的表格,查询结果应返回:例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。例如,下表 cinema:对于上面的例子,则正确的输出是为:请列出所有超过或等于5名学生的课。例如,表:学生在每个课中不应被重复计算。Users 表存所有用户。每个用户有唯一键 Users_Id。Banned 表示这个用户是否被禁止,Role 则是一个表示(‘client’, ‘driver’, ‘partner’)的枚举类型。写一段 SQL 语句查出 2013年10月1日 至 2013年10月3日 期间非禁止用户的取消率。基于上表,你的 SQL 语句应返回如下结果,取消率(Cancellation Rate)保留两位小数。根据以上输入,你的查询应返回以下结果:说明:所有电子邮箱都是小写字母。请编写一个查询语句,找出高峰期时段,要求连续三天及以上,并且每天人流量均不少于100。例如,表 stadium:对于上面的示例数据,输出为:每天只有一行记录,日期随着 id 的增加而增加。