您的位置:首页 > 数据库 > MySQL

MySQL简单查询语句

2017-08-04 17:59 295 查看
SELECT
语法结构

SELECT
column_1, column_2, ...
FROM
table_1
[INNER | LEFT |RIGHT] JOIN table_2 ON conditions
WHERE
conditions
GROUP BY column_1
HAVING group_conditions
ORDER BY column_1
LIMIT offset, length


SELECT语句由以下列表中所述的几个子句组成:

SELECT之后是逗号分隔列或星号(*)的列表,表示要返回所有列。

FROM指定要查询数据的表或视图。

JOIN根据某些连接条件从其他表中获取数据。

WHERE过滤结果集中的行。

GROUP BY将一组行组合成小分组,并对每个小分组应用聚合函数。

HAVING过滤器基于GROUP BY子句定义的小分组。

ORDER BY指定用于排序的列的列表。

LIMIT限制返回行的数量。

语句中的SELECT和FROM语句是必须的,其他部分是可选的。

简单的查询语句

在学生表中查询学生的学号和姓名

SELECT stu_id,stu_name FROM student;


查询学生表中所有的信息

SELECT * FROM student;


*
表示查询所有的列,但并不是每次都需要表中所有的列,这样写虽然方便但是会增加I/O,降低查询的速度

使用WHERE语句过滤查询结果

如果不使用WHERE子句,只是用SELECT语句就会返回数据表中所有的行,但往往不是所有的行都是需要的,比如想要查找及格的学生的学号和姓名。WHERE子句可以通过设置过滤表达式对结果集进行过滤,只返回需要的行。

WHERE子句中形成过滤表达式的比较运算符

操作符描述
=等于,几乎任何数据类型都可以使用它
<>或!=不等于
<小于,通常使用数字和日期/时间数据类型
>大于
<=小于或等于
=
大于或等于
还有一些有用的运算符可以在WHERE子句中使用来形成复杂的条件,例如:

* BETWEEN选择在给定范围值内的值。

* LIKE匹配基于模式匹配的值。

* IN指定值是否匹配列表中的任何值。

* IS NULL 检查该值是否为NULL。

使用BETWEEN查询所需日期(requiredDate)从2013-01-01到2013-01-31的所有订单

SELECT
orderNumber,requireddate,status
FROM
orders
WHERE requireddate BETWEEN CAST('2013-01-01' AS DATE) AND CAST('2013-01-31' AS DATE);


在mysql中提供了两个通配符,用于LIKE运算符一起使用

* 百分号
%
通配符允许匹配人和我字符串的零个或多个字符

* 下划线
_
通配符允许匹配任何单个字符

查询已字母
a
开头的员工的信息

SELECT employeeNumber,lastname,firstname FROM employees WHERE firstname LIKE 'a%';


为了获取像
_20
10%
这样的数据的时候,需要使用转义,在不指定转义字符的情况下
\
作为转义的标志

查询包含
_20
字符串

SELECT productcode,productName FROM products WHERE productcode LIKE '%\_20';


也可以通过
ESCAPE
指定转义的符号

SELECT productcode,productName FROM products WHERE productcode LIKE '%$_20' ESCAPE '$';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql