查找 emp表中所有电话号码phone_no的以1或3开头,第三位为0的电话号码的SQL语句是____。 A.SELECT phone_no FROM emp WHERE phone_no LIKE ‘(1,3)*0%’ B.SELECT phone_no FROM emp WHERE phone_no LIKE ‘[1,3]_0%’ C.SELECT phone_no FROM emp WHERE phone_no LIKE ‘[1,3]%0*’ D.SELECT phone_no FROM emp WHERE phone_no LIKE ‘[1,3]_0*’
时间: 2023-02-09 22:55:18 浏览: 72
正确的 SQL 语句是 D 选项:SELECT phone_no FROM emp WHERE phone_no LIKE '[1,3]_0*'。
在这个语句中,我们使用了 LIKE 子句来匹配特定的电话号码模式。我们使用了 '[1,3]' 来匹配第一位是 1 或 3 的电话号码,然后使用 '_' 来匹配任意单个字符(在这种情况下,就是第二位)。最后,使用 '0*' 来匹配第三位是 0 的电话号码。
在这个语句中,我们可以使用 '*' 来匹配任意数量的字符,因此可以使用 '0*' 来匹配任意数量的 0(如 00、000 等)。
因此,D 选项 SELECT phone_no FROM emp WHERE phone_no LIKE '[1,3]_0*' 是正确的 SQL 语句。
相关问题
基础 SQL 查询语句
好的,以下是一些基础 SQL 查询语句的刷题题目,供你练习:
1. 查询所有员工的信息,包括员工编号、姓名、性别、年龄、电话和住址。
```sql
SELECT emp_no, emp_name, emp_gender, emp_age, emp_phone, emp_address
FROM employee;
```
2. 查询薪水大于 5000 的员工的姓名和薪水。
```sql
SELECT emp_name, emp_salary
FROM employee
WHERE emp_salary > 5000;
```
3. 查询在部门编号为 10 的部门工作的员工的姓名和部门名称。
```sql
SELECT emp_name, dept_name
FROM employee
JOIN department ON employee.dept_no = department.dept_no
WHERE employee.dept_no = 10;
```
4. 查询员工表中员工编号为 1001 的员工的姓名和工资。
```sql
SELECT emp_name, emp_salary
FROM employee
WHERE emp_no = 1001;
```
5. 查询在部门编号为 10 或 20 的部门工作的员工的姓名和部门名称。
```sql
SELECT emp_name, dept_name
FROM employee
JOIN department ON employee.dept_no = department.dept_no
WHERE employee.dept_no IN (10, 20);
```
希望这些题目可以帮助你巩固 SQL 基础查询语句的知识。
(1) 职工表Employee(职工编号Eno,职工姓名Ename,性别sex,年龄age,婚否Is_Marry,职称Title,部门编号Dno) (2) 项目表Itme(项目编号Ino,项目名称Iname,项目开始日期Start_date,项目结束日期End_date,项目费用Outlay,验收日期Check_date) (3) 参与表Item_Emp(项目编号Ino,职工编号Eno,项目中排名IENo) (4) 工资表Salary(职工编号Eno,基本工资Basepay,津贴Service,贴补Price,公积金Rest,养老金Insure,医保Fund) (5) 部门表Department(部门编号Dno,部门名Name,电话Phone,从Item_Emp表中,删除“丁为国”的所有元组。
可以使用如下 SQL 语句删除 Item_Emp 表中职工姓名为“丁为国”的所有元组:
```
DELETE FROM Item_Emp WHERE 职工编号Eno = (SELECT Eno FROM Employee WHERE 职工姓名Ename = '丁为国')
```
注意,这个 SQL 语句中使用了子查询,在子查询中先根据职工姓名查询到职工编号,然后再将其作为条件删除 Item_Emp 表中的元组。