mysql distinct where_MySQL-数据库表数据查询基础(DISTINCT、WHERE)

SELECT 语句:

SELECT 语句用于从数据库中选取数据。

结果被存储在一个结果表中,称为结果集。

DISTINCT:

在表中,一个列可能会包含多个重复值,DISTINCT 关键词用于返回唯一不同的值。

SELECT DISTINCT column_name,column_name

FROM table_name;

WHERE:

WHERE 子句用于提取那些满足指定标准的记录。SELECT column_name,column_name

FROM table_name

WHERE column_name operator value;

WHERE 子句中的运算符

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

运算符描述

=等于

<>不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=

>大于

>=大于等于

<=小于等于

BETWEEN在某个范围内

LIKE搜索某种模式

IN指定针对某个列的多个可能值

Where +条件(筛选行)

条件:列,比较运算符,值

比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)Select*fromempwhereename='SMITH';

例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。

逻辑运算

And:与 同时满足两个条件的值。Select*fromempwheresal>2000andsal<3000;

查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。

Or:或 满足其中一个条件的值Select*fromempwheresal>2000orcomm>500;

查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。

Not:非 满足不包含该条件的值。select*fromempwherenotsal>1500;

查询EMP表中 sal 小于等于 1500 的值。

逻辑运算的优先级:()notandor

特殊条件

1.空值判断: is nullSelect*fromempwherecommisnull;

查询 emp 表中 comm 列中的空值。

2.between and (在 之间的值)Select*fromempwheresal between1500and3000;

查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。

注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。

3.InSelect*fromempwheresalin(5000,3000,1500);

查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。

4.like

Like模糊查询Select*fromempwhereename like'M%';

查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。 % 表示多个字值,_ 下划线表示一个字符; M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。 %M% : 表示查询包含M的所有内容。 %M_: 表示查询以M在倒数第二位的所有内容。

不带比较运算符的 WHERE 子句:

WHERE子句并不一定带比较运算符,当不带运算符时,会执行一个隐式转换。当0时转化为 false,当其他值是转化为true。例如:SELECT studentNO FROM student WHERE0

则会返回一个空集,因为每一行记录WHERE都返回false。SELECT studentNO FROM student WHERE1

或者SELECT studentNO FROM student WHERE'abc'

都将返回student表所有行记录的studentNO列。因为每一行记录WHERE都返回true。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值