用sql 查询emp表部门编号为10或20,入职日期在81年5月1日之后,并且姓名中包含大写字母A的员工姓名,员工姓名长度
时间: 2024-03-26 08:34:16 浏览: 22
可以使用以下 SQL 查询语句:
```sql
SELECT SUBSTR(ename,1,LENGTH(ename)-1) AS "员工姓名", LENGTH(ename) AS "员工姓名长度"
FROM emp
WHERE (deptno = 10 OR deptno = 20)
AND hiredate >= '1981-05-01'
AND ename LIKE '%A%';
```
该查询语句使用了以下条件进行筛选:
- `deptno = 10 OR deptno = 20`:部门编号为 10 或 20;
- `hiredate >= '1981-05-01'`:入职日期在 1981 年 5 月 1 日之后;
- `ename LIKE '%A%'`:姓名中包含大写字母 A。
同时,该查询语句使用了 `SUBSTR` 和 `LENGTH` 函数来获取员工姓名和姓名长度。
相关问题
创建一个视图,其中包含emp表的员工编号、员工姓名、职位、雇用日期、部门编号
在SQL Server中创建一个包含emp表中员工编号、员工姓名、职位、雇用日期、部门编号的视图,可以使用以下的SQL语句:
```
CREATE VIEW emp_view AS
SELECT empno, ename, job, hiredate, deptno
FROM emp;
```
这将创建一个名为emp_view的视图,其中包含emp表的所需列。现在,您可以使用以下语句查询视图:
```
SELECT * FROM emp_view;
```
这将返回与emp表相同的结果,但只包含视图中列的数据。
SQL语句查询和姓名中包含字母u的员工在相同部门员工的员工号和姓名
ANSWER:
SELECT e.emp_no, e.first_name
FROM employees e, dept_emp d
WHERE e.emp_no = d.emp_no
AND UPPER(e.first_name) LIKE '%U%'
AND d.dept_no = (
SELECT dept_no
FROM dept_emp
WHERE emp_no = e.emp_no
)