Java面试题-MySQL
1.有哪些连接查询,含义是什么
等值连接:取交集
内连接:取两个表或者多个表交集
左连接:以左表的表为主表,展示左表所有行,右表未匹配的以null填充右连接:以右表的表为主表,展示右表所有行,左表未匹配的以null填充
白连接:将一张表当做两张表使用,取交集
2.select七大子句顺序
select
from
where
group by
having
order by
limit
3.limit的两种用法
limit 数值 展示指定数量行
limit 数值1,数值2 从数值1+1开始展示 展示数值2行数
4.union和union all的区别
union和union all都属于取并集union会去除重复记录union all不会去除重复记录
5.where和having的区别
where和having都表示对结果进行过滤
在排序之后 按照七大子句顺序 不能使用where 只能使用having
6.查询每个人的姓名,薪资和公司的平均薪资(按照employee表书写sql)
select empname,empsalary,(select avg(empsalary) from employee) fromemployee:
7.查询薪资最高的员工的姓名,年龄和地址(按照employee表书写sql)
select empname,empage,empaddress from employee where empsalary =(select max(empsalary) from employee):
8.查询薪资最高的前三位员工信息(按照employee表书写sq1)
select * from employee order by empsalary desc limit 3;
9.查询每个人的姓名,薪资和公司平均薪资的差值(按照employee表书写sql)
select empname,empsalry,empsalary-(sleect avg(empsalary) from employee)as '差值' from employee;