0
点赞
收藏
分享

微信扫一扫

mysql 两表连接 模糊查询语句

MySQL 两表连接和模糊查询语句

介绍

在数据库中,使用连接(join)操作可以将两个或多个表中的数据进行关联查询。而模糊查询则允许我们在查询中使用通配符来匹配模式,而不仅仅是精确匹配。MySQL 提供了丰富的连接和模糊查询语句,本文将详细介绍这些语句以及如何使用它们。

连接(Join)操作

连接操作可以将两个或多个表中的数据关联起来,通过共享的列或条件将这些表中的数据连接在一起。MySQL 提供了多种连接操作的方式,例如内连接、左连接、右连接和全连接。

内连接(Inner Join)

内连接返回两个表中匹配的行。在内连接中,只有在两个表中关联列具有相同的值时,相关的行才会返回。

下面是一个使用内连接操作的示例:

SELECT * FROM 表1
INNER JOIN 表2
ON 表1.列 = 表2.列;

左连接(Left Join)

左连接返回左表中的所有行以及与右表中匹配的行。如果右表中没有匹配的行,则返回 NULL 值。

下面是一个使用左连接操作的示例:

SELECT * FROM 表1
LEFT JOIN 表2
ON 表1.列 = 表2.列;

右连接(Right Join)

右连接返回右表中的所有行以及与左表中匹配的行。如果左表中没有匹配的行,则返回 NULL 值。

下面是一个使用右连接操作的示例:

SELECT * FROM 表1
RIGHT JOIN 表2
ON 表1.列 = 表2.列;

全连接(Full Join)

全连接返回两个表中的所有行,无论是否有匹配的行。

下面是一个使用全连接操作的示例:

SELECT * FROM 表1
FULL JOIN 表2
ON 表1.列 = 表2.列;

模糊查询语句

模糊查询语句允许我们在查询中使用通配符来匹配模式,而不仅仅是精确匹配。MySQL 提供了多种通配符用于模糊查询,包括百分号(%)和下划线(_)。

百分号(%)

百分号(%)表示零个、一个或多个字符。它可以用于匹配任意长度的字符串。

下面是一个使用百分号的模糊查询的示例:

SELECT * FROM 表
WHERE 列 LIKE 'abc%';

这个查询将返回所有以 'abc' 开头的行。

下划线(_)

下划线(_)表示一个任意字符。它可以用于匹配一个字符的位置。

下面是一个使用下划线的模糊查询的示例:

SELECT * FROM 表
WHERE 列 LIKE '_bc';

这个查询将返回所有以 'bc' 结尾的三个字符的行。

组合使用通配符

百分号(%)和下划线(_)也可以组合使用,以进行更复杂的模糊查询。

下面是一个使用百分号和下划线的模糊查询的示例:

SELECT * FROM 表
WHERE 列 LIKE 'a%b_';

这个查询将返回所有以 'a' 开头、以 'b' 结尾,并且长度为四个字符的行。

示例代码

下面是一个示例代码,演示了如何在 MySQL 中使用连接和模糊查询语句:

-- 创建表1
CREATE TABLE 表1 (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);

-- 创建表2
CREATE TABLE 表2 (
    id INT PRIMARY KEY,
    age INT
);

-- 插入数据
INSERT INTO 表1 (id, name)
VALUES (1, 'John'), (2, 'Alice'), (3, 'Bob');

INSERT INTO 表2 (id, age)
VALUES (1, 20), (2, 25), (4, 30);

-- 内连接示例
SELECT 表1.name, 表2.age
举报

相关推荐

0 条评论