MySQL学习(四)查询
一、group_concat()函数。把groupby的分组中字段数据组合显示出来
select s_id , GROUP_CONCAT(要显示的字段名) from table group by 分组字段
二、group_by 与 Having 结合 :根据条件筛选分组条件
select s_id ,group_concat(f_name) as names from fruits group by a_id having count(f_name) > 1
Having 与 where 区别:
- 关键字用来在数据分组之后进行分组筛选。
- where在分组之前筛选记录,且where排除掉的数据不会出现在分组的结果中
三、多字段分组
使用group by进行分组,指定多个字段,可以按照层次分组,先根据第一个字段进行分组,然后在对分组根据第二根第二个字段进行分组。
四、使用LImit限制查询结果的数量
Limit [位置偏移量],行数
偏移量可以不指定,行数指返回的数据的条数
select * from frults limit 4:返回查询结果的前4条数据
select * from frults limit 5,3 :返回查询结果偏移量为5(从第六条数据开始)后的三条数据
五、内连接查询
select * from frults ,suppliers where frults.s_id = suppliers.s_id
select * from frults inner join suppliers on frults.s_id = suppliers.s_id
两种方式一样的
六、自连接查询
查询中设计的表示在物理上同一张表,逻辑上是两张表。自连接是一种特殊的内连接
select f1.s_id , f2.s_id from frults as f1 ,frults as f2 where f1.s_id = f2.s_id and f1.s_id = "a1"
七、左外连接查询
包括左表的所有行,如果右表没有匹配行就会为NUL
select * from frults left outer join suppliers on frults.s_id = suppliers.s_id
八、右外连接查询
包括右表的所有行,如果左表没有匹配行就会为NUL
select * from frults right outer join suppliers on frults.s_id = suppliers.s_id
九、ANY,SOME只要满足其中一个就返回true
十、ALL 所有条件都满足才返回True
十一、exists关键字:如果子查询返回结果不为空,则会进行主查询,否则不会进行主查询,可以在where中使用
MySQL学习(四)查询的更多相关文章
- MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询
本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何真正地执行查询,明白高效和低效的真正含义,在实际应用中就能扬长避 ...
- MySQL学习分享-->查询-->查询的分类
MySQL的查询可以分为交叉联接.内联接.外联接.自然联接.straight_join 下面对于查询的学习,会用到以下四张表: create table t_commodity_type( `id` ...
- MySql学习(四) —— 函数、视图
注:该MySql系列博客仅为个人学习笔记. 本篇博客主要涉及MySql 函数(数学函数.字符串函数.日期时间函数.流程控制函数等),视图. 一.函数 1. 数学函数 对于数学函数,若发生错误,所有数学 ...
- MySQL学习分享-->查询-->查询的原理
查询的原理 在一个查询中常包含下述子句: 1.select,2.distinct,3.join,4.on,5.from,6.where,7.having,8.group by,9.order by,1 ...
- MySQL 学习四 SQL优化
MySQL逻辑架构: 第一层:客户端层,连接处理,授权认证,安全等功能. 第二层:核心层,查询解析,分析,优化,缓存,内置函数(时间,数学,加密),存储过程,触发器,视图 第三层:存储引擎.负 ...
- MySQL学习(四)
1 MySQL日期和时间类型 创建一个包含DATE类型的表 mysql> create table test3( -> star varchar(20) not null default ...
- python之MySQL学习——数据查询
import pymysql as ps # 打开数据库连接 db = ps.connect(host='localhost', user='root', password='123456', dat ...
- MySql学习-5.查询2
1.聚合: 1.1 5个聚合函数: count(*):括号中写列名,或者 *: max(列):此列的最大值: min(列):此列的最小值: sum(列):此列的和: avg(列):此列的平均值: 1. ...
- MySql学习-4.查询1
1.基本查询语法: select * from 表名: **注意** 1.select 后写列名,*代表是所有列: 2.列名可以用as起别名,其出现在结果集中: 3.查询多个列,之间用逗 ...
- MySQL学习(四)——外键
1.比方现在有两张表“分类表”和“商品表”,为了表明商品属于哪个分类,通常我们将在商品表上添加一列,用于存放分类cid的信息,此列称为:外键. 此时分类表category称为主表,cid称为主键:商品 ...
随机推荐
- Hibernate 4 Second Level Caching With EHCache
Hibernate 4 Second Level Caching With EHCache [From] http://www.codesenior.com/en/tutorial/Hibernate ...
- Oracle DBMS_UTILITY.GET_HASH_VALUE
DBMS_UTILITY.GET_HASH_VALUE(input, base, hash_size) 1.DBMS_UTILITY.GET_HASH_VALUE 对于确定的输入字符串,如果base和 ...
- redis源码搭建以及配置主从服务器
2018-10-25 关闭防火墙: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service # ...
- 磁盘挂载 fdisk
fdisk -l 查看是否 已加入磁盘 fdisk /dev/sdb fdisk -cu /dev/sdb 取消兼容模式 添加一个硬盘,只创建一个分区,然后把分区挂载到/data 第 ...
- MHA 高可用架构部署
一, MHA 介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公 ...
- intellij idea开发过程中遇到的问题
https://blog.csdn.net/wonder_dog/article/details/79289883
- Beam编程系列之Java SDK Quickstart(官网的推荐步骤)
不多说,直接上干货! https://beam.apache.org/get-started/beam-overview/ https://beam.apache.org/get-started/qu ...
- spark on yarn模式里需要有时手工释放linux内存
为什么要提出这个问题? spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED) 然后执行 [spark@master spark--bin- ...
- unity向量-数学-三角函数
1.如何在unity写cos60 Mathf.Cos(Mathf.Deg2Rad * ) Deg2Rad将 60 角度转换为弧度,因为里面参数只能填弧度数 2.计算一个Vector3绕旋转中心旋转指定 ...
- linux服务器git pull/push时避免频繁输入账号密码
1.先cd到根目录,执行git config --global credential.helper store命令 [root@iZ25mi9h7ayZ ~]# git config --global ...