MySQL--02

1、JOIN

JOIN 就是连接另一个表来根据共同的内容查看两个表的列

主要分为LEFT JOIN    INNER JOIN和 RIGHT JOIN 三种

MySQL--02

七种join连接

MySQL--02

 

 

 来具体分析一下:看代码

表1:学生表

MySQL--02

 

表2:成绩表

MySQL--02

 

 

 表3:科目表

MySQL--02

 

 

 --现在我们想要查询学生ID 学生名字 科目ID,科目名字和分数

--现在表中zzc是没有参加考试的  我们可以看一下左连和右连的区别

--现在我把成即表当作右表右连执行后就只有开始的同学才会出现,

--把学生表当作左表来查询的话就有没考试的zzc 

 MySQL--02

 

 

 MySQL--02

 

 

 现在全部执行之后再看

MySQL--02

这里其实是最简单的sql  因为只是LEFT JOIN /RIGHT JOIN 之后查询出来的结果看作是一张表,然后在和另一张表进行连接查询

FROM a  left join b  就是以a表为准

FROM a right jion b 就是以b表为准

MySQL--02

 

 

 2、注意事项:

一个语句里面只能写一个where      多个条件用and或or连接

多表查询只需要找到那个查询条件(就是两个或多个表之间有关系的数据) 多个表查询就是先查两个表  在查两个表  。。。。。。

MySQL--02

 

 

 3、分页和排序

排序:order by

升序 ASC

降序 DESC

ORDER BY   ***  ASC (从小到大)   /    DESC(从大到小)

 

分页:limit

语法: limit  起始位置下标,每页分几个内容(pagesize)

像网页中大部分都是一页有多少个栏,然后下面分了多少页,

分了多少页怎么算呢,就用总的数量/pagesize

4、子查询

MySQL--02

 

 

 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()函数

(指定要替换的字符串,从哪里开始,到哪里结束,替换的字符串)

MySQL--02

 

 第二种replace()函数

MySQL--02

将字符串变成小写字母  select lower()

将字符串变成大写字母  select upper()

select instr(str,substr)   //返回第一次出现的子串索引    例如:select instr (‘xingxinghaishinameliang‘,‘h‘) //9

截取字符串 : substr(目标字符串,截取的位置,截取的长度)

MySQL--02

 

MySQL--02

上一篇:InnoDB的行锁模式及加锁方法


下一篇:mysql update 子查询作为条件