SQL语法:SELECT / SELECT DISTINCT / WHERE

目录

SELECT 语法:

SELECT DISTINCT 语法:

WHERE 语句:


SELECT 语法:

SELECT column_name, column_name FROM table_name;

SELECT * FROM table_name

SELECT DISTINCT 语法:

SELECT DISTINCT column_name, column_name FROM table_name;

仅从 "table_name" 表的 "column_name, column_name" 列中选取唯一不同的值,也就是去掉 "column_name, column_name" 列中的重复值。

在表中,一个列可能会包含多个重复值,但有时希望仅仅列出不同(distinct)的值。


WHERE 语句:

SELECT column_name, column_name FROM table_name WHERE column_name operator value;

SELECT * FROM Websites WHERE country='CN';

该语句从“Websites”表中选取国家为“CN”的所有网站,结果为:

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

在上个实例中 'CN' 文本字段使用了单引号。

如果是数值字段,请不要使用引号。

  •  WHERE 子句中的运算符:

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

=等于
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式
IN指定针对某个列的多个可能值

例子:

1、搜索emp表中ename为SMITH的记录:SMITH用单引号引起来,表示是字符串,字符串要区分大小写。

SELECT * FROM emp WHERE ename='SMITH';

2、逻辑运算:and,or,not

SELECT * FROM emp WHERE val > 2000 and value < 3000;

SELECT * FROM emp WHERE val > 2000 or weight < 200;

SELECT * FROM emp WHERE not weight < 200;

3、特殊条件

1)空值判断:IS NULL

SELECT * FROM emp WHERE comm IS NULL;

2)BETWEEN AND(在...之间的值)

SELECT *FROM emp WHERE val BETWEEN 1000 AND 3000;

3)IN:查询emp表中的val列等于5000,3000,1000的记录

SELECT * FROM emp WHERE val IN (5000, 3000, 1000);

4)LIKE模糊查询

SELECT * FROM emp WHERE ename LIKE 'M%';

查询 emp 表中 ename 列中有 M 的值,M 为要查询内容中的模糊信息。

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

 

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

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

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

 

SELECT  studentNO  FROM student WHERE 1

或者

SELECT studentNO FROM student WHERE 'abc'

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值