除非最终要检索它们并且利用它们做一些事情,否则将数据存入数据库没有任何意义。这也就是select语句存在的意义——帮助我们取出数据。select语句可能是sql语句中最常用的语句了,而是用它的方式也是最为考究的。用它来选择记录可能会十分复杂,可能涉及许多表和列之间的比较。今天我们来复习下select的最基本的功能。
我们通常是这么是用select的:
SELECT 选择那些列
FROM 从那些表中选择行
WHERE 行必须满足什么条件
GROUP BY 对结果怎样分组
HAVING 行必须满足的第二个条件是什么
ORDER BY 对结果进行排序
LIMIT COUNT 结果限定。 (顺序不能改变欧)
我们说select应用的最简单场景估计就是从一张表里检索出表的全部内容了
select * from pet;
然后我们可以根据列中的不同属性来筛选行。
select * from pet where name = "Tom" ;
当然,如果我们不想看行中的所有字段的话,我们可以再次的筛选一下。
select name,sex,birth from pet where name = "Tom"
并且,我们select的表达式是可以进行一些计算的。例如我想看看Tom一生活了多久。
select name, death-birth FROM pet WHERE name = "Tom";
比较少见的一种方式是不从任何表中select的字段,只是单纯的计算表达式。
select (2+6*5)/6;
但是为什么你不用个计算器呢?
单就一个表的情况来说,from后面跟着表名就行了,没什么好多说的,但是where后面跟着的条件就可以跟大家好好掰扯掰扯了。
用的比较多的情况是根据看看某个字段的值等于XXX的行。就像
select * from pet where name = "Tom" (字符串里面是不区分大小写的)
或者我们可以在where后面对字段进行一些简单的判断和计算。
select * from pet where name = "Tom" and age>2 or name = "jerry" and (age+1) <= 3;
在这里,我们可以加减乘除,可以判断大于小于,可以有万能的()也可以and 或者or。
反正大家脑子里第一反应能想到的一些简单的加工方法,都有了,通过它们我们可以进行一些简单的查询。
那个谁,把这栋楼里所有的“隔壁老王”给我检索出来。
select name, homenumber from ManOfApartment where sex = man and familyname = “王” and age between(5,80);