mysql 的 查找 :
SELECT name,age FROM mytable; # 在mytable 中所有的name,age 数据
SELECT name,age FROM mytable WHERE age>25; #在mytable 中所有的name,age 数据,其中age必须小于25
SELECT name,age FROM mytable WHERE age<25 OR age>30; #找出年龄小于25,大于30的name,age数据 (注意其中的‘OR’)
SELECT name,age FROM mytable WHERE age>25 AND age<30; # 找出年龄大于25,小于30的name,age数据 (注意其中的‘AND’)
关键词 IN 和 NOT IN 的作用和它们的名字一样明显,用于筛选“在”或“不在”某个范围内的结果,比如说我们要查询在 dpt3 或 dpt4 的人:
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4');
而 NOT IN 的效果则是,如下面这条命令,查询出了不在 dpt1 也不在 dpt3 的人:
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3');
关键字 LIKE 可用于实现模糊查询,常见于搜索功能中。
和 LIKE 联用的通常还有通配符,代表未知字符。SQL中的通配符是 _
和 %
。其中 _
代表一个未指定字符,%
代表不定个未指定字符 例如:
SELECT name,age,phone FROM employee WHERE phone LIKE '1101__'; #在employee数据表中查找前4个数字为1101的电话号码及相关数据
另一种情况,比如只记名字的首字母,又不知道名字长度,则用 %
通配符代替不定个字符:
SELECT name,age,phone FROM employee WHERE name LIKE 'J%'; #查找首字母为‘J’的人名及相关数据。
总结:mysql 的 查找 ,如果是按条件过滤查找一定要用WHERE关键字,同时根据需要使用'OR', 'AND', 'IN', 'NOT IN', ' _', '%'
mysql 的 排序 :
为了使查询结果看起来更顺眼,我们可能需要对结果按某一列来排序,这就要用到 ORDER BY 排序关键词。默认情况下,ORDER BY 的结果是升序排列,而使用关键词 ASC 和 DESC 可指定升序或降序排序。 比如,我们按 salary 降序排列:
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC; #将employee数据表中数据按工资由高到低排列。
如果后面不加 DESC 或 ASC 将默认按照升序排列。