5.WHERE 子句

WHERE 子句用于规定选择的标准。

WHERE 子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

语法

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

下面的运算符可在 WHERE 子句中使用:

操作符 描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式

注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。

1.如:

mysql> select * from Persons where  City = ‘London‘;
+------+----------+-----------+---------------+--------+
| Id_P | LastName | FirstName | Address       | City   |
+------+----------+-----------+---------------+--------+
|    1 | Adams    | John      | Oxford Street | London |
+------+----------+-----------+---------------+--------+
1 row in set (0.00 sec)

筛选出城市是London的数据集

2.引号的使用

请注意,我们在例子中的条件值周围使用的是单引号。

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

文本值:

正确:

mysql> select * from Persons where  City = ‘London‘;
+------+----------+-----------+---------------+--------+
| Id_P | LastName | FirstName | Address       | City   |
+------+----------+-----------+---------------+--------+
|    1 | Adams    | John      | Oxford Street | London |
+------+----------+-----------+---------------+--------+
1 row in set (0.00 sec)

错误:
mysql> select * from Persons where  City = London;
ERROR 1054 (42S22): Unknown column ‘London‘ in ‘where clause‘

数值:

正确:

mysql> select * from Persons where Id_P = 1;
+------+----------+-----------+---------------+--------+
| Id_P | LastName | FirstName | Address       | City   |
+------+----------+-----------+---------------+--------+
|    1 | Adams    | John      | Oxford Street | London |
+------+----------+-----------+---------------+--------+
1 row in set (0.07 sec)

错误:

mysql> select * from Persons where Id_P =‘1‘;
+------+----------+-----------+---------------+--------+
| Id_P | LastName | FirstName | Address       | City   |
+------+----------+-----------+---------------+--------+
|    1 | Adams    | John      | Oxford Street | London |
+------+----------+-----------+---------------+--------+
1 row in set (0.00 sec)

虽然是正确的,但是在sql的语法中是错误的

其实这个问题,我在工作中已经犯过错误了,吃一堑,长一智

时间: 2024-10-18 00:01:30

5.WHERE 子句的相关文章

33.HAVING 子句

HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用. SQL HAVING 语法 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value SQL H

用于 SELECT 和 WHERE 子句的函数

1 一个 SQL 语句中的 select_expression 或 where_definition 可由任何使用了下面所描述函数的表达式组成. 2 3 包含 NULL 的表达式总是得出一个 NULL 值结果,除非表达式中的操作和函数在文档中有另外的说明. 4 5 注意:在一个函数名和跟随它的括号之间必须不存在空格.这有助于 MySQL 语法分析程序区分函数调用和对恰巧与函数同名表或列的引用.然而,参数左右两边的空格却是允许的. 6 7 你可以强制 MySQL 接受函数名后存在空格的形式,这需要

SQL HAVING 子句

HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用. SQL HAVING 语法 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value SQL H

SQL TOP 子句

TOP 子句 TOP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. 注释:并非所有的数据库系统都支持 TOP 子句. SQL Server 的语法: SELECT TOP number|percent column_name(s) FROM table_name MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的 MySQL 语法 SELECT column_name(s) FROM table_name LIMIT num

SQL Server中TOP子句可能导致的问题以及解决办法

原文:SQL Server中TOP子句可能导致的问题以及解决办法 简介      在SQL Server中,针对复杂查询使用TOP子句可能会出现对性能的影响,这种影响可能是好的影响,也可能是坏的影响,针对不同的情况有不同的可能性.      关系数据库中SQL语句只是一个抽象的概念,不包含任何逻辑.很多元数据都会影响执行计划的生成,SQL语句本身并不作为生成执行计划所参考的元数据(提示除外),但TOP关键字却是直接影响执行计划的一个关键字,因此在某些情况下使用TOP会导致性能受到影响,下面我们来

在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句

在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句 突然看到这个问题,脑袋一蒙,不知道啥意思,后来想想,试图把select里的选项放到后面,问题自然解决! 下面这个就是报“orderdate select shipcountry,sum(shipvia) as totalvia,OrderDate as thefirsttime from orders group by shipcountry,相应的从网上看到其他的朋友也有这样的问题 比如要显示authors表中

Java知多少(50)Java throws子句

如果一个方法可以导致一个异常但不处理它,它必须指定这种行为以使方法的调用者可以保护它们自己而不发生异常.做到这点你可以在方法声明中包含一个throws子句.一个 throws 子句列举了一个方法可能抛出的所有异常类型.这对于除Error或RuntimeException及它们子类以外类型的所有异常是必要的.一个方法可以抛出的所有其他类型的异常必须在throws子句中声明.如果不这样做,将会导致编译错误. 下面是包含一个throws子句的方法声明的通用形式: 1 type method-name(

LINQ 基本子句之二 join

Join子句据说可以实现3中连接关系. 1.内部连接——元素的连接关系必须同时满足被连接的两个数据源 2.分组连接 3.左外连接 1.最基本的,内部连接,类似于sql中inner join. 由于student类和phone类只有一个匹配的连接,因此,只返回一个id,1. public class student { public int id; string name; public student(int id, string name) { this.id = id; this.name

Oracle中start with...connect by子句的用法

connect by 是结构化查询中用到的,其基本语法是:select - from tablename start with 条件1connect by 条件2where 条件3;例:select * from tablestart with org_id = 'HBHqfWGWPy'connect by prior org_id = parent_id; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:org_id,parent_id那么通过表示每一条记录的parent是谁