数据库查询

  • SELECT
--获取表中的所有数据
select * from table_name

--all是默认选项,能够不写,指表中全部列下的数据,
--ditinct 从显示中去重复记录
select [ * | all | ditinct column1,column2]
from table1 [ ,table2];

 

  • WHERE
--用于规定选作的标准/条件

--select 列名称 from 表名称 where 列 运算符 值

select * from table_name
where  column_name = 'value'

 

--多个条件用and/or链接
select [ all | * distinct column1,column2 ]
from table1 [ ,table2 ]
where [condition1 | expression1 ]
[ and | or condition2 | expression2 ]

  •  AND和OR链接符

and和or可在where子语句中把两个或者多个条件结合起来sql

若是一个条件和第二个条件都成立,用and数据库

若是一个条件和第二个条件只要有一个成立,则or运算符显示一条记录express

select * from table_name
where column_name1 = 'value' and column_name2 <= 'value'

select * from table_name
where column_name1 = 'value' or column_name2 <= 'value' 

--把and和or结合起来使用,用圆括号组成复杂的表达式
--先知足括号内任一的条件,而后再考虑and部分条件
select * from table_name
where (column_name1 = 'value' or column_name2 <= 'value') and column_name3 = 'value'

 

  • ORDER BY

用于对结果集进行排序,默认是按照升序(ASC),按照降序能够写(DESC)关键字函数

selcet column_name1,column_name2 from table_name

order by column_name1 DESC,column_name2 ASC

--order by 句子里的字段能够缩写为一个整数,用整数取代世纪的字段名,表示字段在关键字SELECT以后列表里的位置

--如将上述内容进行更改
selcet column_name1,column_name2 from table_name

order by 1 DESC,2 ASC

注:code

一、排序排序

    a、SQL排序是基于字符的ASCII排序,get

    b、数字0-9会按其字符值进行排序,而且位于字母A到Z以前it

    c、因为数字值在排序是被单字符处理的,因此数字的排序是:一、十二、二、25五、3io

二、大小写敏感性table

    SQL命令和关键字对大小写不敏感,可是在 数据大小写敏感性很重要,

    a、MySQL、Microsoft SQL Sever,默认是大小写不敏感的,在数据匹配时,系统会忽视数据的大小写

    b、Oracle 默认是对大小写敏感的,因此在匹配数据时须要考虑大小写

    在大多数状况下,数据在关系型数据库中彷佛都是以大写的形式保存的,以便保持数据的一致性

  • 统计表里的记录数量
--COUNT圆括号中表示目标字段,了解该列有多少条记录,*表明全部记录
SELECT COUNT(*) FROM TABLE_NAME

--若是要在统计表中特定列所出现的值的种类数(返回指定字段的不一样值数据),须要在COUNT函数中使用DISTINCT关键字

SELECT COUNT(DISTINCT column_name) FROM TABLE_NAME

注:COUNT(DISTINCT)适用于ORACLE和Microsoft SQL Server,但没法用于Microsoft Access

SQL COUNT() 函数 

相关文章
相关标签/搜索