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;

相关推荐
长城20242 分钟前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有17 分钟前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql
Mr. zhihao1 小时前
深入解析redis基本数据结构
数据结构·数据库·redis
m0_748839491 小时前
利用天正暖通CAD快速掌握风管数量统计的方法
数据库
随身数智备忘录1 小时前
什么是设备管理体系?设备管理体系包含哪些核心模块?
网络·数据库·人工智能
海市公约2 小时前
MySQL更新语句执行全流程:从Buffer Pool修改到二阶段提交
数据库·mysql·binlog·innodb·undo log·二阶段提交·update执行原理
颂love2 小时前
MySQL的执行流程
android·数据库·mysql
海市公约2 小时前
一条SQL查询的完整旅程:MySQL执行流程深度解析
sql·mysql·数据库优化·执行计划·连接器·查询缓存·sql执行原理
程序leo源2 小时前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#
这个DBA有点耶3 小时前
COUNT进阶:超大表的近似计数与HyperLogLog
数据库·sql·程序人生·学习方法·dba·改行学it