sql面试题分享

SQL相关的问题通常涵盖基本查询、连接、聚合、子查询、窗口函数、数据修改以及数据库设计等方面。以下是一些常见的面试问题和示例:

基本查询:

SELECT column1, column2 FROM table_name;

#条件查询

where

SELECT * FROM table_name WHERE condition;

#排序结果:

SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC;

#内连接

SELECT a.column, b.column

FROM table_a a

JOIN table_b b ON a.id = b.a_id;

#左连接

SELECT a.column, b.column

FROM table_a a

LEFT JOIN table_b b ON a.id = b.a_id;

#自连接(例如,查找同一表中具有相同值的记录)

SELECT a.column, b.column

FROM table a, table b

WHERE a.column = b.column AND a.id != b.id;

#计数、求和、平均值等

SELECT COUNT(), SUM(column1), AVG(column2)
FROM table_name
GROUP BY column3;
#使用HAVING子句过滤分组
SELECT column1, COUNT(
)

FROM table_name

GROUP BY column1

HAVING COUNT() > 1;
#子查询
SELECT column1
FROM table_name
WHERE column2 IN (SELECT column2 FROM another_table WHERE condition);
#插入数据
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
#更新数据
UPDATE table_name SET column1 = value1 WHERE condition;
#删除数据
DELETE FROM table_name WHERE condition;
#查询重复的数据
SELECT column1, COUNT(
)

FROM table_name

GROUP BY column1

HAVING COUNT(*) > 1;

#删除重复记录

DELETE FROM table_name

WHERE id NOT IN (

SELECT MIN(id)

FROM table_name

GROUP BY column1

);

#查询第二高

SELECT DISTINCT salary

FROM employee

ORDER BY salary DESC

LIMIT 1 OFFSET 1;

相关推荐
dfdfadffa3 分钟前
如何创建仅在首次订阅时执行一次计算的 RxJS 懒加载 Observable
jvm·数据库·python
Irene19914 分钟前
Oracle 中:为什么 from 子查询后面需要一个别名
数据库·oracle
m0_624578596 分钟前
SQL分组后如何计算移动平均值_利用窗口函数AVG配合ROWS
jvm·数据库·python
2401_8242226913 分钟前
如何修复待办事项列表无法添加任务的 JavaScript 错误
jvm·数据库·python
地球资源数据云18 分钟前
1900-2023年中国物种分布点位矢量数据集
大数据·数据结构·数据库·数据仓库·人工智能
sitellla41 分钟前
MySQL 入门:最流行的开源关系型数据库介绍
数据库·mysql·其他·开源
精益数智工坊43 分钟前
拆解制造业仓库物料管理流程:如何通过标准化仓库物料管理流程解决账实不符难题
大数据·前端·数据库·人工智能·精益工程
nbwenren1 小时前
办公AI实测:Gemini3、GPT-4o、Claude3.5谁更强?
服务器·数据库·php
2401_824222691 小时前
如何卸载并重装Oracle Grid_Deinstall脚本与ASM磁盘清理
jvm·数据库·python
杨云龙UP1 小时前
Oracle数据库启动失败:ORA-29701、ORA-01565、ORA-17503故障处理记录_20260429
linux·运维·数据库·oracle·centos