SQL Select All Except

我想我们都同意,SQL中没有比SELECT语句更常见的语句了。这就像SQL的“Hello World”是我们学习的东西,它向我们介绍了SQL。

最基本的是,我们使用SELECT语句从数据库表中检索数据。这包括指定我们希望在结果中包含哪些列。

尽管有这个功能,但我们可能会遇到这样的情况:我们希望从给定的表中选择除少数外的所有列和行。尽管它可能不像您想象的那样常见,但您一定会在数据库操作中遇到这样的实例。

在本教程中,我们将学习如何使用各种SQL技术选择除特定行和列之外的所有行和列。

注意:出于演示目的,我们使用MySQL version 8和Sakila示例数据库。您可以在官方网站下载样例数据库,并按照提供的步骤进行导入。

您还可以使用您认为合适的任何其他数据集。

例1:选择除1列外的所有列

“select except”的常见任务之一是需要选择表中除一个列外的所有列。

让我们以Sakila示例数据库为例。假设我们希望检索“film”表中除了“description”列之外的所有列。

我们可以使用如下查询来实现:

选择

film_id,

标题,

release_year,

rental_rate,

长度,

special_features



电影;

是的,就是这样。此方法需要指定表中除“description”列外的所有列。

例2:除了Multiple Ones

同样的情况也适用于需要排除多个列的情况。您可以将它们从SELECT查询中排除。

例如,让我们从“film”表中排除description和“special_features”。我们可以运行以下查询:

选择

film_id,

标题,

release_year,

rental_rate,

长度



电影;

这将返回“film”表中除了“description”和“special_features”列之外的所有列。

示例3:排除一行

在其他情况下,可能需要排除一行。在这种情况下,我们可以使用WHERE子句利用SQL条件过滤。

例如,假设我们希望排除“rental_rate”大于4.0的记录。

我们可以这样使用查询:

选择

film_id,

标题,

release_year,

rental_rate,

长度



电影

在哪里

    rental_rate