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

跟王老师学MySQL:单表查询

2016-07-09 15:59 399 查看
跟王老师学MySQL:单表查询

主讲教师:王少华 QQ群号:483773664

学习内容

查询所有字段

查询指定字段
查询指定记录
带in关键字的查询
带between and关键字的查询

带like关键字的查询

查询空值
带and的多条件查询

带or的多条件查询
查询不重复记录
对查询结果进行排序

单表查询是指从一张表中查询所需要的数据。查询数据时,可以从一张表中查询数据,也可以从多张表中同时查询数据。两者的查询方式上有一定的区别。因为单表查询只在一张表上进行操作,所以查询比较简单。
一、查询所有字段

(一)列出表的所有字段

(二)使用“*”查询所有字段

1 语法

1
select
*
from
表名;

2 举例

查询出表employee中记录所有的字段信息



二、查询指定字段
查询数据时,可以在SELECT语句的“属性列表”中列出所要查询的字段。

举例

从表employee中查询出num、name、sex和homeaddr4个字段的信息

1
select
num,
name
,sex,homeaddr
from
employee;


三、查询指定记录

SELECT语句中可以设置查询条件。
WHERE子句可以用来指定查询条件

(一)语法

1
WHERE
条件表达式

(二)举例

查询num为3的记录
1
select
*
from
employee
where
num=3;


(三)查询条件

where 子句常用的查询条件有很多。如下图所示



四、带in 关键字的查询

in关键字可以判断某个字段的值是否在指定的集合中。
如果字段的值在集合中,则满足查询条件,该纪录将被查询出来。如果不在集合中,则不满足查询条件。

(一)语法

1
[
NOT
]
IN
( 元素1, 元素2, …, 元素n )
注:

各元素之间用逗号隔开

如果元素是字符型,需要加上单引号

(二)举例

查询name字段的取值,不是张三和李四的记录

1
select
*
from
employee
where
name
not
in
(
'张三'
,
'李四'
);


五、带Between and的范围查询

BETWEEN AND关键字可以判读某个字段的值是否在指定的范围内。
如果字段的值在指定范围内,则满足查询条件,该纪录将被查询出来。
如果不在指定范围内,则不满足查询条件。

(一)语法

1
[
NOT
]
BETWEEN
取值1
AND
取值2
注:
取值1:表示范围起始值

取值2:表示范围终止值
范围边界包括取值1和取值2

(二)举例

查询age字段的值在25-29之间的记录

1
select
*
from
employee
where
age
between
25
and
29;


六、带like的字符配置查询

LIKE关键字可以匹配字符串是否相等。
如果字段的值与指定的字符串相匹配,则满足查询条件,该纪录将被查询出来。
如果与指定的字符串不匹配,则不满足查询条件。

(一)语法

1
[
NOT
]
LIKE
'字符串'
注:
字符串,必须加单引号或双引号
字符串可以是一个完整的字符串,也可以包括通配符的字符。
%:代表任意长度的字符串,长度可以为0,比如b%k,表示以b开头,以k结尾的任意长度的字符串
_:表示一个字符。b_k,表示以b开头,以k结尾的,长度为3的字符串

(二)举例

查询homeaddr字段,以浙江开头,以州结尾的记录

1
select
*
from
employee
where
homeaddr
like
'浙江%州'
;


七、查询空值

IS NULL关键字可以用来判断字段的值是否为空值(NULL)

(一)语法

1
IS
[
NOT
]
NULL

(二)举例

查询记录中sex字段为空值的记录

1
select
*
from
employeewhere sex 
is
null
;




注:

is null 不能用= ’‘来代替



八、带AND的多条件查询
AND关键字可以用来联合多个条件进行查询。
使用AND关键字时,只有同时满足所有查询条件的记录会被查询出来。
如果不满足这些查询条件的其中一个,这样的记录将被排除掉。

(一)语法

1
条件表达式1
AND
条件表达式2  [… 
AND
条件表达式n ]

(二)举例

查询年龄小于24,性别为男的记录

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  target blank telephone