当前位置: 首页 > wzjs >正文

杭州网站建设是什么网站建设中的html页面下载

杭州网站建设是什么,网站建设中的html页面下载,乐云seo网站建设公司,诸城网站优化今天给大家带来一份大厂SQL面试覆盖:基础语法 → 复杂查询 → 性能优化 → 架构设计,大家需深入理解执行原理并熟悉实际业务场景的解决方案。 1. 基础查询与过滤 题目:查询 employees 表中所有薪资(salary)大于 10000…

今天给大家带来一份大厂SQL面试覆盖:基础语法 → 复杂查询 → 性能优化 → 架构设计,大家需深入理解执行原理并熟悉实际业务场景的解决方案。



1. 基础查询与过滤

题目:查询 employees 表中所有薪资(salary)大于 10000 且部门编号(dept_id)为 5 的员工姓名(name)和入职日期(hire_date)。

SELECT name, hire_date 
FROM employees 
WHERE salary > 10000 AND dept_id = 5;


2. 聚合函数与分组

题目:统计每个部门(dept_id)的平均薪资,并仅显示平均薪资高于 15000 的部门。

SELECT dept_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY dept_id
HAVING AVG(salary) > 15000;


3. 多表连接(JOIN)

题目:查询员工姓名(name)及其所属部门名称(dept_name),表结构为 employees(id, name, dept_id)和 departments(id, dept_name)。

SELECT e.name, d.dept_name
FROM employees e
JOIN departments d ON e.dept_id = d.id;


4. 子查询与 EXISTS

题目:查询没有订单的客户(customers 表的 id 不在 orders 表的 customer_id 中)。

SELECT c.id, c.name
FROM customers c
WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id
);


5. 窗口函数

题目:查询每个部门薪资排名前 3 的员工姓名和薪资。

WITH ranked_employees AS (SELECT name, salary, dept_id,RANK() OVER (PARTITION BY dept_id ORDER BY salary DESC) AS rankFROM employees
)
SELECT name, salary, dept_id
FROM ranked_employees
WHERE rank <= 3;


6. 递归查询(CTE)

题目:查询树形结构表 categories(id, name, parent_id)中 ID=5 的所有子节点。


WITH RECURSIVE sub_categories AS (SELECT id, name, parent_idFROM categoriesWHERE id = 5UNION ALLSELECT c.id, c.name, c.parent_idFROM categories cJOIN sub_categories sc ON c.parent_id = sc.id
)
SELECT * FROM sub_categories;


7. 索引优化

题目:在 orders 表中,如何为 customer_id 和 order_date 设计联合索引以优化查询 WHERE customer_id = 100 AND order_date > '2024-02-10'?
答案:

CREATE INDEX idx_customer_order_date ON orders (customer_id, order_date);


原理:联合索引按最左前缀匹配原则,优先按 customer_id 过滤,再按 order_date 范围查询。


8. 事务与隔离级别

题目:解释“不可重复读”(Non-Repeatable Read)和“幻读”(Phantom Read)的区别。
答案:

        不可重复读:同一事务中两次读取同一行数据,结果不同(由其他事务的 UPDATE 或 DELETE 导致)。

        幻读:同一事务中两次查询同一范围的数据,结果行数不同(由其他事务的 INSERT 导致)。


9. 执行计划分析

题目:以下查询的执行计划中出现了 Full Table Scan,如何优化?
SELECT * FROM products WHERE category = 'Electronics' AND price > 1000;
答案:
添加联合索引 (category, price):

CREATE INDEX idx_category_price ON products (category, price);


10. 复杂场景设计

题目:设计一个数据库表结构,支持用户每日签到(可重复签到但仅第一次有效),并统计某用户最近 30 天的签到次数。
答案:

CREATE TABLE user_checkins (user_id INT,checkin_date DATE,PRIMARY KEY (user_id, checkin_date) -- 唯一约束避免重复
);-- 统计最近30天签到次数
SELECT COUNT(*) 
FROM user_checkins 
WHERE user_id = 100 
AND checkin_date >= CURRENT_DATE - INTERVAL '30 days';


11. 死锁分析与解决

题目:两个事务分别执行以下操作,如何发生死锁?

事务1:UPDATE accounts SET balance = balance - 100 WHERE id = 1; UPDATE accounts SET balance = balance + 100 WHERE id = 2;

事务2:UPDATE accounts SET balance = balance - 200 WHERE id = 2; UPDATE accounts SET balance = balance + 200 WHERE id = 1;
答案:

        事务1锁定id=1后等待id=2,事务2锁定id=2后等待id=1,形成循环等待。
        解决方案:按固定顺序更新(如先更新id小的账户)。


12. 时间窗口统计

题目:统计每小时内订单量最多的前3个小时(表 orders 含字段 order_time)。

WITH hourly_orders AS (SELECT EXTRACT(HOUR FROM order_time) AS hour,COUNT(*) AS order_countFROM ordersGROUP BY EXTRACT(HOUR FROM order_time)
)
SELECT hour, order_count
FROM hourly_orders
ORDER BY order_count DESC
LIMIT 3;


13. 数据去重

题目:删除 logs 表中重复记录(保留id最小的一条)。

DELETE FROM logs
WHERE id NOT IN (SELECT MIN(id)FROM logsGROUP BY user_id, log_time, content
);


14. 分页查询优化

题目:优化大表的分页查询 SELECT * FROM users ORDER BY id LIMIT 1000000, 10;。
答案:
使用覆盖索引 + 游标分页:

SELECT * FROM users 
WHERE id > 1000000 
ORDER BY id 
LIMIT 10;


15. 分区表设计

题目:如何按时间范围对 sales 表进行分区以优化查询性能?
答案:

-- 按月分区(以 PostgreSQL 为例)
CREATE TABLE sales (sale_id SERIAL,sale_date DATE,amount NUMERIC
) PARTITION BY RANGE (sale_date);CREATE TABLE sales_2023_01 PARTITION OF salesFOR VALUES FROM ('2024-01-10') TO ('2024-02-10');


16. JSON 数据处理

题目:从 products 表的 attributes(JSON 字段)中提取颜色(color)和尺寸(size)。

-- 以 MySQL 为例
SELECT attributes->>'$.color' AS color,attributes->>'$.size' AS size
FROM products;


17. 高级窗口函数

题目:计算每个员工薪资与所在部门平均薪资的差值。

SELECT name,salary,salary - AVG(salary) OVER (PARTITION BY dept_id) AS diff_from_avg
FROM employees;


18. 动态SQL与存储过程

题目:编写存储过程,根据输入的城市名动态查询 customers 表。

-- 以 PostgreSQL 为例
CREATE OR REPLACE PROCEDURE get_customers_by_city(city_name TEXT)
LANGUAGE plpgsql
AS $$
BEGINEXECUTE 'SELECT * FROM customers WHERE city = $1' USING city_name;
END;
$$;


19. 分布式ID生成方案

题目:在分布式系统中,如何设计全局唯一的订单ID?
答案:

        雪花算法(Snowflake):时间戳 + 机器ID + 序列号。

        UUID:随机生成,但存储效率低。

        数据库分段分配:中央数据库分配ID范围给各节点。


20. 数据一致性保障

题目:如何实现“扣减库存时防止超卖”?
答案:

-- 事务内原子操作(以 MySQL 为例)
START TRANSACTION;
SELECT stock FROM products WHERE id = 100 FOR UPDATE;
UPDATE products SET stock = stock - 1 WHERE id = 100 AND stock > 0;
COMMIT;

文章转载自:

http://buCJSZ3w.qbnfc.cn
http://YOGgnhli.qbnfc.cn
http://6gUgjrc2.qbnfc.cn
http://tbvr5rQ4.qbnfc.cn
http://PbUbObHr.qbnfc.cn
http://p0lDoujO.qbnfc.cn
http://XHyIbHSS.qbnfc.cn
http://fXYK7Nff.qbnfc.cn
http://XnlIszjh.qbnfc.cn
http://wvj69rNK.qbnfc.cn
http://qgUQqe3p.qbnfc.cn
http://uMCTbbYq.qbnfc.cn
http://Fa4ThESR.qbnfc.cn
http://nRlub40O.qbnfc.cn
http://PhiDAVbp.qbnfc.cn
http://u0wRm0mL.qbnfc.cn
http://yh3hBnqS.qbnfc.cn
http://DAeHry7Z.qbnfc.cn
http://bCtvWDyH.qbnfc.cn
http://uU0OiLr9.qbnfc.cn
http://e9PakJf9.qbnfc.cn
http://oNkxsNSP.qbnfc.cn
http://TMNApRpk.qbnfc.cn
http://ElA5uWiR.qbnfc.cn
http://ZJ4JDYVX.qbnfc.cn
http://F1x0JDE6.qbnfc.cn
http://SAwFjeRq.qbnfc.cn
http://8PuHzr2V.qbnfc.cn
http://ZwjKU6Rl.qbnfc.cn
http://ztr5EeWk.qbnfc.cn
http://www.dtcms.com/wzjs/643630.html

相关文章:

  • 无锡 网站建设长沙优化官网收费标准
  • 网上免费个人网站潍坊信息网网站建设
  • 做网站怎样设置搜索引擎wordpress 载入很慢
  • 国外素材设计欣赏网站html前端网站开发
  • 自建购物网站多少钱wordpress 没有 sql
  • 手机app游戏制作软件珠海seo快速排名
  • 西宁网站推广网页顶部导航栏设计
  • 网站建设合同标的网络营销策划的流程及要点
  • 彩票网站定制宽带费用多少钱一年
  • 国外做足球数据的网站有哪些北京网站建设方案排名
  • 北京做网站公司的排名摄影网站设计图片
  • 自己做的网站怎么发布到网上wordpress 如何制作模板
  • ps 做网站切图hois.skxy.wordpress
  • 医药网站源代码某网站seo诊断分析和优化方案
  • 黑色个人网站欣赏常平网站
  • 学校网站建设软件推荐广州网页设计培训教程
  • 网站建设报价表表格下载东南网
  • 网站建设的系统简介wordpress ality 预览
  • 微信知彼网络网站建设找人做网站要密码吗
  • 玉环做网站找那家公司美管加登录平台
  • 网站续费公司韩版做哪个网站好
  • 西安网站设计西安搜推宝安卓软件开发用什么语言
  • 在越南做网站都是什么人广告发布合同模板
  • 肥城网站设计公司最专业的手机网站制作
  • 甘肃建设厅执业资格注册中心网站手机软件开发培训
  • 建站之星导出网站公司建设网站申请报告
  • 佛山做网站优化公司做网站是先做界面还是先做后台
  • 微信公众平台申请小程序新网站做seo
  • 做网站会后期维护吗帮忙注册公司多少钱
  • 网站服务器维护方案html网页wordpress