1、JOIN
JOIN 就是连接另一个表来根据共同的内容查看两个表的列
主要分为LEFT JOIN INNER JOIN和 RIGHT JOIN 三种
七种join连接
来具体分析一下:看代码
表1:学生表
表2:成绩表
表3:科目表
--现在我们想要查询学生ID 学生名字 科目ID,科目名字和分数
--现在表中zzc是没有参加考试的 我们可以看一下左连和右连的区别
--现在我把成即表当作右表右连执行后就只有开始的同学才会出现,
--把学生表当作左表来查询的话就有没考试的zzc
现在全部执行之后再看
这里其实是最简单的sql 因为只是LEFT JOIN /RIGHT JOIN 之后查询出来的结果看作是一张表,然后在和另一张表进行连接查询
FROM a left join b 就是以a表为准
FROM a right jion b 就是以b表为准
2、注意事项:
一个语句里面只能写一个where 多个条件用and或or连接
多表查询只需要找到那个查询条件(就是两个或多个表之间有关系的数据) 多个表查询就是先查两个表 在查两个表 。。。。。。
3、分页和排序
排序:order by
升序 ASC
降序 DESC
ORDER BY *** ASC (从小到大) / DESC(从大到小)
分页:limit
语法: limit 起始位置下标,每页分几个内容(pagesize)
像网页中大部分都是一页有多少个栏,然后下面分了多少页,
分了多少页怎么算呢,就用总的数量/pagesize
4、子查询
5、常用函数
数学运算:
select ABS(); //绝对值
select CEILING(9.1); //向上取整 10
select FLOOR(9.1); //向下取整 9
select RAND(); //返回一个0-1之间的随机数 //0.9680164139419947
select SIGN(); //常用于判断一个参数的正负 正数为1 负数为-1 0为0
字符串:
字符串长度:select CHAR_LENGTH(‘xingxinghaishinameliang‘); //23
拼接字符串:select CONCAT(‘星星‘,‘还是‘,‘那么亮‘); //星星还是那么亮
字符串替换有两种玩法:
第一种insert()函数
(指定要替换的字符串,从哪里开始,到哪里结束,替换的字符串)
第二种replace()函数
将字符串变成小写字母 select lower()
将字符串变成大写字母 select upper()
select instr(str,substr) //返回第一次出现的子串索引 例如:select instr (‘xingxinghaishinameliang‘,‘h‘) //9
截取字符串 : substr(目标字符串,截取的位置,截取的长度)