interview
sql-web-scenarios
编写 SQL查询用户表中所有用户的用户名和年龄

SQL 网站场景面试题, 编写 SQL,查询用户表中所有用户的用户名和年龄

SQL 网站场景面试题, 编写 SQL,查询用户表中所有用户的用户名和年龄

QA

Step 1

Q:: 编写 SQL,查询用户表中所有用户的用户名和年龄

A:: SELECT username, age FROM users;

Step 2

Q:: 编写 SQL,查询年龄大于30岁的用户的用户名和年龄

A:: SELECT username, age FROM users WHERE age > 30;

Step 3

Q:: 编写 SQL,统计用户表中每个年龄段的用户数量

A:: SELECT age, COUNT(*) AS user_count FROM users GROUP BY age;

Step 4

Q:: 编写 SQL,查询用户表中用户名以'A'开头的所有用户的用户名和年龄

A:: SELECT username, age FROM users WHERE username LIKE 'A%';

Step 5

Q:: 编写 SQL,更新用户表中用户名为'John'的用户年龄为35

A:: UPDATE users SET age = 35 WHERE username = 'John';

Step 6

Q:: 编写 SQL,删除用户表中年龄小于18岁的用户

A:: DELETE FROM users WHERE age < 18;

Step 7

Q:: 编写 SQL,添加一个新用户,用户名为'Mary',年龄为28

A:: INSERT INTO users (username, age) VALUES ('Mary', 28);

Step 8

Q:: 编写 SQL,查询用户表中年龄最大的用户

A:: SELECT username, age FROM users ORDER BY age DESC LIMIT 1;

用途

这些面试题主要是为了评估候选人对SQL的基本操作的掌握情况,包括数据查询、插入、更新和删除等。这些操作在实际生产环境中是非常常见的。例如,当需要从数据库中提取特定数据进行分析,或者更新用户信息,甚至清理不必要的数据时,SQL查询都是必不可少的技能。\n

相关问题

🦆
编写 SQL,查询用户表中所有用户的电子邮件地址

SELECT email FROM users;

🦆
编写 SQL,统计用户表中年龄在20到30岁之间的用户数量

SELECT COUNT(*) AS user_count FROM users WHERE age BETWEEN 20 AND 30;

🦆
编写 SQL,查询用户表中用户名重复的所有用户

SELECT username, COUNT(*) FROM users GROUP BY username HAVING COUNT(*) > 1;

🦆
编写 SQL,查询用户表中创建时间最近的5个用户

SELECT username, created_at FROM users ORDER BY created_at DESC LIMIT 5;

🦆
编写 SQL,将用户表中所有用户的年龄增加1

UPDATE users SET age = age + 1;

🦆
编写 SQL,查询用户表中所有用户的用户名和他们的订单总数假设有一个订单表

SELECT u.username, COUNT(o.id) AS order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id GROUP BY u.username;

🦆
编写 SQL,查询用户表中用户名长度超过5个字符的所有用户

SELECT username FROM users WHERE LENGTH(username) > 5;

🦆
编写 SQL,查询用户表中年龄最小的用户的用户名和年龄

SELECT username, age FROM users ORDER BY age ASC LIMIT 1;

SQL 进阶查询面试题, 编写 SQL,查询用户表中所有用户的用户名和年龄

QA

Step 1

Q:: 编写 SQL,查询用户表中所有用户的用户名和年龄

A:: SELECT username, age FROM users; 这个查询语句从名为 'users' 的表中选择了所有用户的用户名和年龄。通过使用 SELECT 关键字指定要选择的列名,即 'username' 和 'age'

Step 2

Q:: 如何编写一个 SQL 查询,筛选出年龄大于 30 岁的用户,并按年龄降序排列?

A:: SELECT username, age FROM users WHERE age > 30 ORDER BY age DESC; 这个查询首先使用 WHERE 子句过滤出年龄大于 30 岁的用户,然后通过 ORDER BY 子句按年龄降序排列结果。

Step 3

Q:: 如何查询重复的用户名,并显示这些用户名重复的次数?

A:: SELECT username, COUNT(*) as count FROM users GROUP BY username HAVING COUNT(*) > 1; 这个查询使用 GROUP BY 子句将相同用户名的行组合在一起,然后使用 HAVING 子句筛选出出现次数大于 1 的用户名,并显示重复的次数。

Step 4

Q:: 如何查询用户表中,年龄最小的用户的用户名和年龄?

A:: SELECT username, age FROM users ORDER BY age ASC LIMIT 1; 这个查询通过 ORDER BY 子句按年龄升序排列所有用户,并使用 LIMIT 1 限制结果只返回年龄最小的用户。

Step 5

Q:: 如何使用子查询来查找用户表中年龄最大的用户的用户名?

A:: SELECT username FROM users WHERE age = (SELECT MAX(age) FROM users); 这个查询通过嵌套子查询来查找最大年龄,并将其与主查询中的年龄进行匹配,从而返回年龄最大的用户的用户名。

用途

SQL 查询是数据库操作的基础技能,面试中考察这些内容是为了评估候选人处理数据的能力。生产环境中,SQL 查询用于从数据库中提取、筛选和排序数据,这对于数据分析、报表生成和应用程序的后台开发至关重要。例如,在分析用户行为、生成统计报表或在应用程序中展示特定用户数据时,这些技能都非常实用。\n

相关问题

🦆
如何使用 JOIN 查询多个表中的相关数据?

使用 JOIN 可以将两个或多个表中具有相关性的行连接起来。例如,INNER JOIN 会返回所有表中匹配的行,而 LEFT JOIN 则会返回左表中的所有行和右表中匹配的行。

🦆
如何编写一个 SQL 查询来更新用户表中所有年龄小于 18 岁的用户,使其年龄增加 1 岁?

UPDATE users SET age = age + 1 WHERE age < 18; 这个查询通过 UPDATE 语句更新所有符合条件的记录。

🦆
如何优化一个查询语句,使其在大数据量下执行更快?

可以通过创建索引、避免使用 SELECT *、优化 WHERE 子句条件、避免冗余的 ORDER BY 和 GROUP BY、以及考虑使用数据库的缓存功能等方式来优化查询。

🦆
如何编写一个事务 Transaction 来确保多个 SQL 操作的原子性?

使用 BEGIN TRANSACTION 开始一个事务,执行多条 SQL 语句,最后使用 COMMIT 提交事务。如果在执行过程中出现错误,可以使用 ROLLBACK 撤销所有操作。