花了一天的时间看完了一本《SQL必知必会》,举个范例,来总结一下零碎的知识点。一般关于数据库操作的项目都会涉及到数据库的基本查询语句。在这里面就主要讲解一些基本常用的sql使用方法。
注:sql 语句不区分大小写。
person表
name | sex | age | phone |
chen | boy | 24 | 12341 |
li | girl | 24 | 2313 |
zhang | girl | 23 | 3214 |
SELECT 列 //查询数据库表对应列
FROM 表名 //所需要查询的表名
检索单个列
select name
from person;
检索多个列(列之间用逗号隔开)
select name,sex
from person;
检索所有列
select *
from person;
DISTINCT 关键字 // 返回不同的值
select age
from person ;
结果为:24
24
23
select distinct age
from person ;
结果为: 24
23
注意:distinct 关键字是作用所有列 ,不是作用于部分使用。
TOP 限制结果 // 限制输出结果的行数。
select top 1 name//只检索前5行数据
from person
结果为:chen
ORDER BY 排序检索
单个排序检索
select age
from person
order by age;
结果为:23
24
24
多个排序检索
select age ,name
from person
order by age,name;
结果为:23 zhang
24 chen
24 li
对于上述排序,仅在多个行具有相同的age 时,才对name排序,如果age不同,则不按name排序。
按列位置排序
在表中age对应的列位置为3
即可以将 order by age; 改为 order by 3;
按指定方向排序
可以讲将列的数据按照升序ASC 或降序 DESC来排序。升序为默认排序。
比如上面的 order by age desc;
结果为: 24
24
23
注意:asc 与desc 的全拼ascending和desending也可以。
WHERE 过滤数据 //检索符合一定条件的数据
where 操作符
操作符 | 说明 | 操作符 | 说明 |
= | 等于 | > | 大于 |
<> | 不等于 | >= | 大于等于 |
!= | 不等于 | !> | 不大于 |
< | 小于 | BETWEEN | 在指定的两个值之间 |
<= | 小于等于 | IS NULL | 为NULL值 |
!< | 不小于 |
检索单个值
select name,age
from person
where age>23;
结果为:chen 24
li 24
范围值检索
将上面的where 。。改为:where age between 23 and 24;
结果:没有结果输出,因为,23到24之间没有符合条件的数据。
组合检索及高级过滤
AND操作符//附件多个约束条件,表示和,
OR操作符 //附加多个约束条件,表示或
注意:and优先级比or高,若要先执行or的操作符,需要加括号();
IN 操作符 //指定条件范围
NOT 操作符 //否定后面跟的任何条件
注意:因为not操作符从来不单独使用,所以它可以在where后,也可以在where前
select name,age,sex
from person
where (name='li' or sex='boy') and age>23;
结果为: li 24 girl
chen 24 boy
select name,age,sex
_________________
from person
where name in ( 'chen','li');
结果为:chen 24 boy
li 24 girl
__________________
select name,age,sex
from person
where not name='chen';
结果为:li 24 girl
zhang 23 girl