基本操作
数据库和表的基础操作_数据库和表的基本操作-CSDN博客文章浏览阅读222次。数据库基础知识_数据库和表的基本操作https://blog.csdn.net/weixin_67573348/article/details/126946843
单表
语法分析:MySQL 单表查询 语法分析_adn查询-CSDN博客文章浏览阅读188次。单表查询_adn查询https://blog.csdn.net/weixin_67573348/article/details/127014849
语法引用:
Mysql单表查询 示例结果-CSDN博客文章浏览阅读353次,点赞7次,收藏8次。SQL之母 - SQL自学网站SQL自学网站。https://blog.csdn.net/weixin_67573348/article/details/134684593
多表
思路分析:Mysql多表查询 思路 ——示例——sql顺序-CSDN博客文章浏览阅读648次,点赞9次,收藏8次。虽然这是一个一般性的执行顺序,但实际的数据库系统可能会根据查询的具体情况进行一些优化,以提高性能。在复杂的查询中,数据库系统可能会重新安排执行计划,例如使用索引来加速搜索,以获得更高的执行效率。需要注意的是,虽然 SQL 查询的逻辑执行顺序如上所述,但在实际执行中,数据库引擎可能会根据优化器的决策进行重新排列操作,以提高性能。指定要查询的表,执行这一步时会生成一个虚拟的结果集,包含了所有所需的列和行。字段可以作为,表查询结果的字段, 表也可以作为,查询结果的表。子句中的条件,筛选出满足条件的分组。https://blog.csdn.net/weixin_67573348/article/details/134839651
语法示例
Mysql多表查询 & 子查询 语法分析| 示例-CSDN博客文章浏览阅读797次,点赞16次,收藏20次。CROSS JOIN是一种简单的关联查询,不需要任何条件来匹配行,它直接将左表的每一行与右表的每一行进行组合,返回的结果是两个表的笛卡尔积。SELECTs.gender,s.age,s.scoreFROMstudents s在 SQL 中,INNER JOIN 是一种常见的关联查询方式,它根据两个表之间的关联条件,将满足条件的行组合在一起。注意,INNER JOIN 只返回两个表中满足关联条件的交集部分,即在两个表中都存在的匹配行。SELECT *https://blog.csdn.net/weixin_67573348/article/details/134712094
多表添加
批量更细sql
UPDATE table_b
SET age = CASE
WHEN id = 1 THEN 10
WHEN id = 2 THEN 1
WHEN id = 3 THEN 11
ELSE age
END
WHERE id IN (1, 2, 3);
- 当
id
等于 1 时,将age
更新为 10。 - 当
id
等于 2 时,将age
更新为 1。 - 当
id
等于 3 时,将age
更新为 11。 - 对于不在上述列表中的
id
,保持age
字段的当前值不变。
最后,WHERE
子句限制了只对 id
在 (1, 2, 3) 中的记录进行更新操作。
所以,这个更新语句的作用是将 table_b
表中 id
分别为 1、2、3 的记录的年龄更新为 10、1、11,其他记录的年龄保持不变。
条件添加sql
INSERT INTO table_a (id, name) SELECT id, name FROM table_b WHERE age > 12;
这个 SQL 语句是一个 INSERT INTO 语句,它的作用是将符合条件的数据从一个表 (table_b
) 插入到另一个表 (table_a
) 中。具体来说:
-
INSERT INTO table_a (id, name)
: 这部分指定了要将数据插入到哪个表中以及插入哪些列。在这里,我们要将数据插入到table_a
表,并指定了要插入的两列为id
和name
。 -
SELECT id, name FROM table_b WHERE age > 12
: 这部分是一个 SELECT 查询,它选择了符合条件的数据。具体地,它选择了table_b
表中满足age > 12
条件的记录,并且选择了这些记录的id
和name
字段的值。
因此,整个 SQL 语句的作用是将 table_b
表中 age
大于 12 的记录的 id
和 name
字段的值插入到 table_a
表中的相应字段。
-- 创建 table_a 表
CREATE TABLE table_a (
id INT PRIMARY KEY,
name VARCHAR(50)
);
-- 创建 table_b 表
CREATE TABLE table_b (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
);
-- 插入一些测试数据到 table_b
INSERT INTO table_b (id, name, age) VALUES
(1, '张三', 10),
(2, '李四', 15),
(3, '王五', 20),
(4, '赵六', 8);