Mysql select查询常用关键字

Mysql select查询常用关键字,第1张

有时需要将表中的记录去掉重复后显示出来,可以用distinct关键字来实现,例如执行语句 SELECT * FROM user返回结果如下:

此时看到id=2,3的记录username字段相同,如果想查询所有不重复的username,可以执行如下:

SELECT distinct username FROM user

例如执行排序语句: SELECT * FROM user order by id asc得到三条升序的数据,如果想限制只显示2条,可以使用LIMIT关键字: SELECT * FROM user order by id asc limit 0,2。LIMIT后面跟着的表示起始偏移量和前N行记录,默认起始偏移量为0,所以这句话也可以写为: SELECT * FROM user order by id asc limit 2。 LIMIT经常和order by一起配合使用来进行分页显示。

聚合 *** 作的语法涉及下面几个参数:

示例:

表连接从大类上分为内连接和外连接。二者区别在于内连接只选出两张表中互相匹配的记录,外连接会选出其他不匹配的记录。

示例:

创建一个雇员表deployee,有五个人:

再创建一个部门表,有4个部门:

某些情况下,查询的条件是另外一个select语句的结果,这时用到子查询。子查询关键字有in,not in,= ,!=,exists,not exists等。

如执行 select * from deployee where deployee.dep_id in (select dep_id from department)也表示查询有部门的雇员。如果子查询记录数唯一,可以使用=代替in:

select * from deployee where deployee.dep_id in (select dep_id from department where dep_id = 'sale') 由于子查询只有一条记录,所有可以用等号

如果要求将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示出来,需要使用union和union all关键字来实现。

union 和 union all的主要区别是union all是把结果集直接合并在一起,而union 是将union all后的结果进行一次distinct,去除重复的记录。

示例:

mysql查询字符串中包含字符的步骤如下:

我们需要准备的材料分别是:mysql查询器。

1、首先,用mysql查询器连接上mysql连接,以test表(5条数据)查询包含“gle”字符为例。

2、点击“查询”按钮,输入:select * from test where `name` like "%gle%"(查询出包含gle字符的字符串)。

3、点击“运行”按钮,此时会查询到name字段包含“gle”字符的两条数据记录。

可以这样编写SQL语句

这里假设表结构如下:

t1(colToChk,col2)

t2(keyword)

列出待查关键字、t2中"colToChk"字段中含待查关键字的相关记录行。

select a.keyword,b.* from

(select distinct keyword from t2) a,

t1 b where b.colToChk

like concat('%',a.keyword,'%')

题主将上述SQL语句套上正确的表名和字段名就可以返回所需的效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7647852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存