码迷,mamicode.com
首页 > 数据库 > 详细

SQL语句(一)

时间:2018-03-24 14:59:24      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:color   sof   取数   运算   版本   数据库系统   模糊   family   number   

SELECT 


SELECT 语句用于从数据库中选取数据。

SELECT columnA_name,columnB_name
FROM table_name;

选取从表中选取列A和列B两列的数据。

SELECT * FROM table_name;

 

选取表的所有数据。

一、DISTINCT关键字过滤重复

SELECT DISTINCT 过滤重复结果。

SELECT DISTINCT column_name,column_name
FROM table_name;

 

不重复选取,加上DISTINCT会将一样的结果过滤掉。

二、WHERE子句

WHERE 子句用于提取那些满足指定标准的记录,它选取的是记录。

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

 

WHERE 子句中的常见的运算符:

运算符描述
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

运算符在比较时,如果是数字字段不需要加‘‘,如果是非数字字段需要加‘‘。

根据运算符的分类大致如下:

1.比较运算符

比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)

SELECT * FROM emp WHERE  ename =SMITH;
SELECT * FROM emp WHERE  ename!=SMITH;
SELECT * FROM emp WHERE  eage=18;
SELECT * FROM emp WHERE  eage>18;

2.逻辑运算

逻辑运算符包涵:AND(与)  OR(或)  NOT(非)。

SELECT * FROM emp WHERE sal > 2000 AND sal < 3000;
SELECT * FROM emp WHERE sal > 2000 OR ename = SMITH;
SELECT * FROM emp WHERE NOT sal > 2000;
逻辑运算符优先级:()>NOT>AND>OR

3.特殊条件

  • 空值判断: IS NULL
SELECT * FROM emp WHERE comm IS NULL;

 返回空值的列

  • BETWEEN ... AND(返回区间之内的值)
SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000;

 返回区间的值,这个值可以为数字,可以为英文字符,也可以为日期。例如:

SELECT * FROM Websites
WHERE name NOT BETWEEN A AND H;
SELECT * FROM access_log
WHERE date BETWEEN 2016-05-10 AND 2016-05-14;

NOT BETWEEN ...AND(返回不在区间之内的值)

  • IN
SELECT * FROM emp WHERE sal IN (5000,3000,1500);

 返回与()的值相等的列,IN可以规定多个值,=规定一个值

  •  模糊查询LIKE
SELECT * FROM emp WHERE ename LIKE M%;

 % 表示多个字值,_ 下划线表示一个字符

 M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。

 %M% : 表示查询包含M的所有内容。

 %M_ : 表示查询以M在倒数第二位的所有内容。

 三、ORDER BY

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

 ASC升序,DESC降序。默认为降序。ASC升序,越来越大。

SELECT column_name,column_name
FROM table_name
ORDER BY columnA_name,columnB_name ASC|DESC;

 

 依次根据列B排序,在列B的基础上再排列A。

 四、TOP关键字, LIMIT, ROWNUM从句

SELECT TOP 子句用于限制要返回的记录的数目。

注释:并非所有的数据库系统都支持 SELECT TOP 子句。

SQL Server / MS Access 语法

SELECT TOP number|percent column_name(s)
FROM table_name;

SQL Server中可以使用百分比显示:浮点型数值+Percent

MySQL 语法

SELECT column_name(s)
FROM table_name
LIMIT number;

Oracle 语法

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

 

SQL语句(一)

标签:color   sof   取数   运算   版本   数据库系统   模糊   family   number   

原文地址:https://www.cnblogs.com/craft0625/p/8033863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!