sql select语句(查询表)(一)
-
简单查询语句
查询一列数据: select 列名 from 表名; 例: select name from ms_user; 查询多列数据:(列名之间用','隔开) select 列名,列名 from 表名; 例: select name,gender from ms_user; 查询所有列数据:(可以用上述方法一个一个的写)或 ↓ select * from 表名; 例: select * from ms_user;
-
检索不同的行(distinct)
distinct 返回列中所有不同的属性 select distinct 列名 from 表名; 例: select distinct gender from ms_user;
-
限定结果
limit 限定查询的条数,以及从什么时候开始查询 select name from ms_user limit 5; #限定查询界现, limit 5 表示从第一行 开始往后5行的数据 select name from ms_user limit 15,5 # limit 15,5表示从第15行开始往后5行的数据 # 注:limit 是从 0开始的与数组类似,从第0行开始计行 select name from ms_user limit 5 offset 15; #与上边的结果相同 表示 从第15行开始取5行 # 注:当limit 指定的检索行数 超过表的最大行数时,将只返回到最大行数;
-
使用完全限定的表名
select ms_user.name from ms.ms_user; #平常无卵用,但在一定的情形下需要使用完全限定名
-
排序
order by / ORDER BY :以字母顺序排序 (默认为升序) 注:如果为数字默认为从小到大。 例: SELECT name FROM ms_user ORDER BY name; 按多个列排序 解:安多个列排序是先以第一个属性排序当第一个属性值相同时再用第二个属性排序。 例: SELECT name,gender FROM ms_user ORDER BY name,gender; 排序方向是可以指定的,默认为升序,可以加上 DESC 关键字变为降序,对应的还有 ASC 关键字使排序为升序,但 ORDER BY 默认为升序所以没多大用处; 例: SELECT name FROM ms_user ORDER BY name DESC; 注:当使用多列排序时,使用 DESC 关键字时,一个关键字只代表一个属性的排序方式,如果我们要让每一列都是降序排序,那么我们需要在每一个属性后面都加上一个 DESC 关键字; 例: SELECT name,age FROM ms_user ORDER BY age DESC, name DESC; 通过 ORDER BY 和 LIMIT 的组合,我们能够找到一列中的最高值或最低值 例: SELECT name,age FROM ms_user ORDER BY age DESC LIMIT 1;