📜  sql 查询 laravel 中的用例条件 - SQL (1)

📅  最后修改于: 2023-12-03 14:47:37.959000             🧑  作者: Mango

SQL 查询条件

当我们在 Laravel 中使用 SQL 查询时,我们通常需要使用条件来筛选出特定的数据。

本文将介绍在 Laravel 中常用的 SQL 查询条件以及如何使用它们。

WHERE 条件

WHERE 条件用于限制查询结果的行集。您可以使用比较运算符(例如 =、> 或 <)来比较列的值。还可以使用 AND 和 OR 运算符,以及括号来定义更复杂的 WHERE 子句。

$users = DB::table('users')
                ->where('name', '=', 'John')
                ->get();

以上代码将从 users 表中检索名称为 John 的所有用户。

OR 条件

OR 条件允许您在 WHERE 子句中使用多个条件,并返回满足任何一个条件的行。

$users = DB::table('users')
                ->where('name', '=', 'John')
                ->orWhere('name', '=', 'Jane')
                ->get();

以上代码将检索名称为 John 或名称为 Jane 的所有用户。

IN 条件

IN 条件允许您检索具有指定列值之一的行。

$users = DB::table('users')
                ->whereIn('id', [1, 2, 3])
                ->get();

以上代码将从 users 表中检索具有 ID 为 1、2 或 3 的所有用户。

NOT IN 条件

NOT IN 条件允许您检索具有值不属于指定集合的行。

$users = DB::table('users')
                ->whereNotIn('id', [1, 2, 3])
                ->get();

以上代码将从 users 表中获取其 ID 不是 1、2 或 3 的所有用户。

BETWEEN 条件

BETWEEN 条件允许您检索具有值在指定范围内的行。

$users = DB::table('users')
                ->whereBetween('votes', [1, 100])
                ->get();

以上代码将从 users 表中检索得票数在 1 到 100 之间的所有用户。

NOT BETWEEN 条件

NOT BETWEEN 条件允许您检索具有值不在指定范围内的行。

$users = DB::table('users')
                ->whereNotBetween('votes', [1, 100])
                ->get();

以上代码将从 users 表中获取其得票数不在 1 到 100 范围内的所有用户。

NULL 和 NOT NULL 条件

可以使用 NULL 条件检索列为 NULL 或列不为 NULL 的行。

$users = DB::table('users')
                ->whereNull('updated_at')
                ->get();

以上代码将从 users 表中检索最后更新时间为 NULL 的所有用户。

$users = DB::table('users')
                ->whereNotNull('updated_at')
                ->get();

以上代码将从 users 表中检索最后更新时间不为 NULL 的所有用户。

LIKE 条件

LIKE 条件允许您检索包含特定字符串的行。您可以使用 % 通配符来表示任意字符。

$users = DB::table('users')
                ->where('name', 'like', 'J%')
                ->get();

以上代码将从 users 表中检索名称以 J 开头的所有用户。

NOT LIKE 条件

NOT LIKE 条件允许您检索不包含特定字符串的行。

$users = DB::table('users')
                ->where('name', 'not like', '%test%')
                ->get();

以上代码将从 users 表中检索名称不包含 test 的所有用户。

以上是在 Laravel 中常用的 SQL 查询条件,使用这些条件可以更方便、高效地检索数据。