mysql的查询怎么用的,mysql常用的查询语句

mysql查询 怎么使用 in

in作为查询条件,一般典型有两种用法:

创新互联公司专注于秀屿网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供秀屿营销型网站建设,秀屿网站制作、秀屿网页设计、秀屿网站官网定制、成都小程序开发服务,打造秀屿网络公司原创品牌,更为您提供秀屿网站排名全网营销落地服务。

一是IN常量,例如下面语句查询一、三年级的学生:

SELECT * FROM student WHERE grade IN ('一','三');

二是使用子查询,也就是IN(SQL语句),例如下面的语句查询不及格的班级的所有学生:

SELECT * FROM student WHERE classno IN (

select classno from scores where score60

);

基于mysql查询语句的使用详解

1

查询数据表除了前三条以外的数据。

起初我想到的是这条语句

SELECT

*

FROM

admin

WHERE

userid

NOT

IN

(SELECT

userid

FROM

admin

ORDER

BY

userid

LIMIT

3)

ORDER

BY

userid

DESC

但是运行的时候会报

This

version

of

MySQL

doesn't

yet

support

'LIMIT

IN/ALL/ANY/SOME

subquery

这个的意思是表示子查询的时候不支持limit

,还有一点我就是很二了

就是查询的时候用not

in

效率非常不高

最后的解决办法是

CREATE

VIEW

view_top3_admin

AS

SELECT

*

FROM

admin

ORDER

BY

userid

LIMIT

3;

先创建一个视图

将子查询条件放到视图里面

然后在用这条语句

SELECT

*

FROM

admin

a

WHERE

NOT

EXISTS

(SELECT

1

FROM

view_top3_admin

b

WHERE

b.userid=a.userid

)

ORDER

BY

a.userid

DESC

先来解释下这条语句

SELECT

1

FROM

view_top3_admin

b

WHERE

b.userid=a.userid

表示查询表里面的值

只要有数据都显示为 1,1表示不读取数据

这样的话就是提升了查询的性能,当然也可以把

里面的1

换成

null

性能是一致的。整条语句的意思是查询admin表值,

判断条件是值不在子查询表里的。

2

union

union

all

的使用

先来解释下这两个关键字在mysql数据库中提供了UNION和UNION

ALL关键字,这两个关键字都是将结果集合并为一个,但这两者从使用和效率上来说都有所不同

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。

select

*

from

table

union

select

*

from

tabl

UNION

ALL只是简单的将两个结果合并后就返回

如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了

select

*

from

table

union

all

select

*

from

tabl

从效率上说,UNION

ALL

要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION

这两个关键字用做报表比较多

如何用MySQL workbench查询数据

方法/步骤

第一步,双击打开MySQL Workbench,新建一个数据库worker,设置数据库编码格式是utf-8,点击“Apply”,创建数据库编码

CREATE SCHEMA `worker` DEFAULT CHARACTER SET utf8 ;

如下图所示:

第二步,使用worker数据库,查看数据库表情况,可以使用show命令,如下图所示:

第三步,新建一张worker信息表,创建数据库表SQL语句具体如下:

create table t_worker_info(

id int(8) primary key,

worker_id int(6) not null,

worker_name varchar(20) not null,

worker_age int(2),

worker_sex varchar(2),

worker_addr varchar(100)

);

如下图所示:

第四步,数据库表t_worker_info建好了后,向表里插入一些数据,插入数据SQL语句

insert into t_worker_info (id,worker_id,worker_name,worker_age,worker_sex,worker_addr)

values (20150101,100,'zhangsan',34,'M','hubei');

如下图所示:

第五步,创建数据库查询存储过程query_procedure,具体实现如下图所示:

第六步,编写完了存储过程后,在查询窗口调用存储过程

call query_procedure(30,'M');

如下图所示:


当前标题:mysql的查询怎么用的,mysql常用的查询语句
标题网址:http://scyanting.com/article/hsijoi.html