Mysql-多表数据记录查询
多表数据记录查询
一、关系数据操作
- 并(UNION)
并就是把具有相同字段数目和字段类型的表合并到一起
- 笛卡尔积(CARTESIAN PRODUCT)
笛卡尔积就是没有连接条件表关系返回的结果。
- 内连接(INNER JOIN)
所谓内连接就是在表关系笛卡尔积数据记录表中,保留表关系中,所有匹配的数据记录,舍弃不匹配的数据记录。
- 外链接(OUTER JOIN)
所谓外连接:就是在表关系的笛卡尔积数据记录中,不仅保留表关系中所匹配的数据记录,而且还会保留部分不匹配的数据记录。 按照保留不匹配条件数据记录来源可分为左外连接,右外连接,全外连接。
左外连接
所谓左外连接:就是表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含关联左边表中不匹配的数据记录、
右外连接
右外连接操作就是表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含关联右表中不匹配的数据记录。
全外连接
全外联接操作就是表关系笛卡尔积中,除了选择相匹配的数据记录,还包含关联作用两表中不匹配的数据记录。
二、内联查询
SELECT field1 field2 field3
FROM join_tablename1 INNER JOIN join_table_name2 [INNER JOIN join_tablename]
ON join_condition
三、外链接查询
SELECT field1 field2 field3
FROM join_tablename1 LEFT|RIGHT|FULL [OUTER] JOIN join_tablename2
ON join_condition
四、使用MySql常用函数
字符串函数:该类函数主要用于处理字符串
数值函数:该类函数主要用于处理数字
日期函数:该类函数主要用于处理日期和事件
系统信息函数:该类函数主要用于获取MySQL软件的系统信息
- 合并字符串函数CONCAT()和CONCAT_WS()
#合并字符串函数一
CONCAT(S1,S2,S3)
select ('my','sq','l')
mysql
#合并字符串函数二
CONCAT_WS(SEP,S1,S2,...SN)
SELECT CONCAT_WS('-','029','88461234')
029-88461234
- 比较字符串大小函数STRCMP()
在MySQL软件中可以通过STRCMP()比较所传入的字符串对象。
#比较字符串大小
STRCMP(str1,str2)
如果参数str1大于Str2,则返回结果1,如果参数str1小于str2,则返回结果-1,如果str1等于str2则返回结果0
- 获取字符串长度的函数LENGTH()和字符串函数CHAR_LENGTH()
#获取传入参数str的长度
LENGTH(str)
#获取传入的参数str的字符数
CHAR_LENGTH(str)
- 实现字母大小写转换函数UPPER()和字符幻术LOWER()
在MySQL中可以通过UPPER()和UCASE()函数实现将字符串的所有字母转化成大写字母。
#转换为大写
UPPER(S)
#转换为大写
UCASE(S)
通过LOWER()和LCASE()函数来实现将字符串中所有的字母转换成小写字母。
#转换为小写字母
LCASE(S)
#转换为小写字母
LOWER(S)
- 查找字符串
#返回字符串位置的FIND_IN_SET()函数
FIND_IN_SET(str1,str2)
上述函数,将会返回在字符串str2中与str1相匹配的字符串的位置,参数str2中将包含若干个用逗号隔开的字符串。
#返回指定字符串位置的FIELD()函数
FIELD(str,str1,str2....)
上述函数将会返回第一个与字符串str匹配的字符串的位置
#返回指定位置的字符串的ELT()函数
ELT(n,str1,str2)
上述函数将会返回第n个字符串
- 从现有字符串中截取子字符串
#从左边或右边截取字符串
LEFT(str,num)
RIGHT(str,num)
#截取指定位置和长度的字符串
SUBSTRING(str,num,len)
MID(str,num,len)
- 去除字符串的首位空格
#去除字符串开始处空格
LTRIM(str)
#去除字符串结束处空格
RTRIM(str)
#去除字符串首尾的空格
TRIM(str)
- 替换字符串
#使用INSERT函数
INSERT(str,pos,len,newstr)
上述函数会将字符串str中的pos位置开始长度为len的字符串newstr来替换,如果参数pos的值超过字符串的长度,则返回值为原始字符串str。如果len的长度大于原来字符串中所剩的长度,则从位置POS开始进行全部替换,若任何一个参数NULL,则返回至为NULL
#使用REPLACE()函数
REPLACE(str,substr,newstr)
上述函数会将字符串,str中的字符串substr用字符串newstr来替换。
五、使用数值函数
- 获取随机数
#通过RAND()和RAND(X)函数来获取随机数
SELECT RAND(),RAND(),RAND(3),RAND(3)
- 获取整数的函数
CEIL(X)
上述函数返回大于或等于数值X的最小整数
FLOOR(X)
上述函数返回小于或等于数值X的最大整数
- 截取数值函数
RRUNCAT(X,Y)
上述函数返回值X保留到小数点后y位的值
- 四舍五入函数
ROUND(x)
Mysql-多表数据记录查询的更多相关文章
- MySQL多表数据记录查询详解
在实际应用中,经常需要实现在一个查询语句中显示多张表的数据,这就是所谓的多表数据记录连接查询,简称来年将诶查询. 在具体实现连接查询操作时,首先将两个或两个以上的表按照某个条件连接起来,然后再查询到所 ...
- MYSQL数据库学习十一 多表数据记录查询
11.1 关系数据操作 并(UNION):把具有相同字段数目和字段类型的表合并到一起. 笛卡尔积(CARTESIAN PRODUCT):没有连接条件表关系的返回结果.字段数=table1字段数+tab ...
- MYSQL数据库学习十 单表数据记录查询
10.1 简单数据记录查询 SELECT field1,field2,...fieldn FROM table_name; “*” ——查询所有记录 SELECT * FROM table_name; ...
- Mysql--单表数据记录查询
1.简单数据记录查询 1.1 简单数据查询 1.1.1 查询所有字段数据 例子: 1.1.2 "*"符号的使用 语法: 例子: 1.1.3 查询指定字段数据 例子: ...
- MySQL将表a中查询的数据插入到表b中
MySQL将表a中查询的数据插入到表b中 假设表b存在 insert into b select * from a; 假设表b不存在 create table b as select * from a ...
- MySQL使用笔记(七)排序和限制数据记录查询
By francis_hao Dec 17,2016 排序数据记录查询 排序是指将筛选出符合条件的数据进行有序排放,有升序(ASC(默认))方式和降序(DESC)方式. mysql> se ...
- MySQL使用笔记(六)条件数据记录查询
By francis_hao Dec 17,2016 条件数据记录查询 mysql> select field1,field2-- from table_name where 条件; 其中 ...
- 提高MYSQL百万条数据的查询速度
提高MYSQL百万条数据的查询速度 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 nul ...
- Oracle、MySql、SQLServer 数据分页查询
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...
随机推荐
- 鲜贝7.3--python安装
方法一:google 搜索 anaconda 进入官网下载64位最新版本 勾选加入环境变量 +默认3.7 打开cmd pip 发现已经完成安装 右键此电脑 属性 高级属性 环境变量 ’ 已经被加入 方 ...
- NOIP 2011 铺地毯
洛谷 P1003 铺地毯 洛谷传送门 JDOJ 1744: [NOIP2011]铺地毯 D1 T1 JDOJ传送门 Description 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看 ...
- 移动端(手机端)页面自适应解决方案1(rem布局)---750设计稿
设计稿尺寸为750 * 1340.结合网易.淘宝移动端首页html元素上的动态font-size属性.设计稿尺寸.前端与设计之间协作流程一般分为下面两种: 网易做法: 页面开头处引入下面这段代码,用于 ...
- session未释放
客户反映一个关于session的bug,说有了1,2天以后,就无法登陆了. 我们这边试了好几天,都没有出现类似问题,后来没办法,只能远程开会,7点左右和他们通话,偶然发现他们居然直接关remote d ...
- Python调用C的DLL(动态链接库)
开发环境:mingw64位,python3.6 64位 参考博客: mingw编译dll: https://blog.csdn.net/liyuanbhu/article/details/426123 ...
- h5移动端页面强制横屏
说明:这个的原文章来自于https://www.jianshu.com/p/9c3264f4a405 ,我做点点补充 ,谢谢原链接的小姐姐 最近公司是要我做一个h5的小视频,因为是视频接视频,并且 ...
- django 使用HttpResponse返回json数据为中文
之前我用django一般用JsonResponse来返回json数据格式 但是发现返回中文的时候会乱码 from django.http import JsonResponse def test(re ...
- Linux shell自动读mongo数据、远程获取文件大小示例脚本
1.示例1 功能:对mongoDB导出数据,根据sid的不同状态进行统计 技术点:shell bash 读写文件.字符串截取.函数.用多个文件提到的map.grep查找并赋值给变量 #!/bin/b ...
- Python 数据处理之对 list 数据进行数据重排(为连续的数字序号)
Python 数据处理之对 list 数据进行数据重排(为连续的数字序号) # user ID 序号重新排,即,原来是 1,3,4,6 ,排为 1,2,3,4 # item ID 序号重新排,too ...
- idea中的后缀补全
IDEA有个很牛逼的功能,那就是后缀补全(Postfix Completion),这个功能可以通过后缀来使用代码补全进行模板式地补全语句,如遍历循环语句(for.foreach).使用 String. ...