Bootstrap

【牛客】SQL刷题篇进阶篇

1.增删改操作⭐

1.1 插入🔥

1.2 更新🔥

1.3 删除🔥

SQLServer:DBCC CHECKIDENT (表名,reseed,0) 
MySQL: ALTER TABLE 表名 AUTO_INCREMENT  = 1

2.表与索引操作⭐

2.1 表的创建、修改与删除🔥

删除表所有数据的sql语句,和效率快慢

2.2 索引的创建、删除🔥

sql索引语法

3.聚合分组查询⭐

3.1 聚合函数🔥

3.2 分组查询🔥

4.多表查询⭐

4.1 嵌套子查询🔥

4.2 合并查询🔥

The used select statements have a different number of columns解决办法

1.问题原因

这个异常出现在两个表使用union all进行合并时遇到的,表A存在的字段数量和表B最初是一致的,包括字段名字和类型都是一致,使用union all连接无异常;
后来由于需要在表B添加了一个新的字段,导致两张表的字段在数量上不一致,出现了异常;

  1. 解决办法

在使用union all进行合并操作时,使用null as "xxx"解决,如下,由之前的SQL语句

SELECT *
	FROM project t
LEFT JOIN (
	SELECT * FROM biz_a_contract
	UNION ALL
	SELECT * FROM biz_b_contract
) a ON a.id = t.contract_id
WHERE
	t.id = '200'

改为

SELECT *
	FROM project t
LEFT JOIN (
	SELECT * FROM biz_a_contract
	UNION ALL
	SELECT tt.*,null AS 'xx' FROM biz_b_contract tt
) a ON a.id = t.contract_id
WHERE
	t.id = '200'

或者直接列出具体的字段,保证顺序一致性

4.3 连接查询🔥

5.窗口函数⭐

5.1 专用窗口函数🔥

5.2 聚合窗口函数🔥

6.其他常用操作⭐

6.1 空值处理🔥

6.2 高级条件语句🔥

6.3 限量查询🔥

6.4 文本转换函数🔥

;