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。