sql习题

查询最晚入职的员工的所有信息

CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));

select emp_no,birth_date,first_name,last_name,gender,hire_date from employees order by hire_date desc limit 1

 

### SQL习题推荐 对于希望学习或巩固 SQL 技能的人来说,练习是非常重要的环节。以下是几个适合初学者到中级水平的 SQL习题目集合: #### 基础查询 基础部分主要涉及简单的 SELECT、WHERE 和 ORDER BY 使用方法。 ```sql -- 查询所有员工的名字和薪水 SELECT Name, Salary FROM Employee; ``` #### 条件过滤与排序 这部分会涉及到更复杂的条件筛选以及数据排序操作。 ```sql -- 找出工资大于等于平均工资的所有员工信息,并按部门编号分组显示每组最高薪资者 SELECT DepartmentID, MAX(Salary) AS MaxSalary FROM Employees GROUP BY DepartmentID HAVING AVG(Salary) >= ALL (SELECT AVG(Salary) FROM Employees GROUP BY DepartmentID); ``` #### 聚合函数应用 聚合函数如 COUNT(), SUM() 等的应用也是SQL学习的重要组成部分。 ```sql -- 计算每个城市的客户数量 SELECT City, COUNT(*) as CustomerCount FROM Customers GROUP BY City; ``` #### 子查询运用 子查询可以用来解决一些复杂的数据检索需求。 ```sql -- 获取Employee表中第n高的薪水(假设n=2) SELECT DISTINCT Salary FROM Employee e1 WHERE (n-1)=(SELECT COUNT(DISTINCT(e2.Salary)) FROM Employee e2 WHERE e2.Salary>e1.Salary); ``` 以上例子来源于提供的资料[^2]。 #### 多表联结分析 当处理多个相互关联表格时,掌握JOIN语句变得尤为重要。 ```sql -- 查找由教师'张三'教授的学生列表 SELECT DISTINCT s.* FROM Student s JOIN SC sc ON s.SId = sc.SId JOIN Course c ON sc.CId = c.CId JOIN Teacher t ON c.TId = t.TId WHERE t.Tname = '张三'; ``` 此段代码取自给定的内容[^3]。 通过这些不同难度级别的练习可以帮助使用者逐步提升自己的SQL能力。同时建议访问在线资源或者参与实际项目来获得更多实践经验。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值