(10)MySql的复习2

来源:互联网 发布:许氏喜剧 知乎 编辑:程序博客网 时间:2024/05/29 14:16
 

11,09,13

今天课堂的主要内容:

今天主要还是复习了MySql的内容,一开始的时候,因为今天没有广播,感觉自己学的有点一头雾水。很多都不是很明白。

数据操作(查询)

       首先介绍了一下DISTINCT。

       例如:查询employee表中所有记录

select id,username,gender,birthday,position,salary,resume from user;

       查询employee表中所有人的薪水

select username,salary from user;

AS

注意事项

       起别名时AS可以省略

       不会改变数据库中的值

练习

       查询所有学生总分, 别名为总分

       select name '姓名',chinese+math+english '总分' from student;

where 语句的 用法

where子句中的运算符:

 

 

比较运算符

>, <, >=, <=, =, <>

注意不等于和Java中不同, 是<>

BETWEEN ... AND ...

某一区间内的值, 从 ... 到 ...

IN(列表)

在列表之中, 例: in(1,2,3) 代表1或2或3

LIKE(表达式)

模糊查询, %代表多个字符, _代表单个字符

IS NULL

判断是否为NULL

 

  逻辑运算符

AND &&

与, 两边都为TRUE结果为TRUE

OR ||

或, 一边为TRUE结果就为TRUE

NOT !

非, 将表达式结果取反

ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT语句后面起的别名

       ASC为升序, DESC为降序

       ORDER BY应在查询语句的结尾

练习

       对数学成绩排序后输出

       select name,math from student order by math;

       查询总分, 从高到低显示

       select name '姓名',chinese+math+english '总分' from student order by 总分 desc;

       选择所有姓张的学生的英语成绩, 并从高到低排序

       select name,english from student where name like '张%' order by english desc;

       查询学生成绩, 按照语文从高到低排序, 如果语文相同, 按照英语从高到低排序

二、还有老师讲了一些函数的用法及实例

讲了表的设计,约束,外键等内容。

多表连接

多张表连接查询, 一张表外键引用另外一张表, 另外一张表再引用其他表.

例如: 员工表引用部门, 部门表引用城市表. 这时如果想根据员工查城市, 或者根据城市查员工就需要将三张表连接查询

自连接

自己和自己连接, 当前表的外键引用自己的主键.

例如: 员工的经理也是员工, 应该在员工表中添加一列经理id. 之后添加一个外键, 引用员工表的主键.

内连接、左外连接、右外连接

1. 内连接

之前我们使用逗号和where子句进行的连接就是内连接. 标准语法应使用 inner join 和 on, 例如:

select e.name,d.name from employee e,department d where e.department_id=d.id;

select e.name,d.name from employee e inner join department d on e.department_id=d.id;

内连接会将两张表完全匹配连接条件的记录查询出来, 不满足的不会显示

 

2. 左外连接

 

使用 left outer join 和 on 关键字进行连接查询, 这时左表中不满足条件的记录也会被查询出来

例如: 查询所有员工的部门, 要将没有部门的周八查询出来. 这时需要查询出员工表中所有记录, 即使不满足连接条件, 周八也要显示.

 

3. 右外连接

 

使用 right outer join 和 on 关键字进行连接查询, 这时右表中不满足条件的记录也会被查询出来

例如: 查询每个部门下都有哪些员工, 要将没有员工的财务部显示出来.

 

4. 全外连接

MySql不支持全外连接full outer join, 可以使用union distinct来实现.

还有子查询的一些内容。

课堂感受:今天的课堂感受很深啊,虽然是复习以前的知识,但还是感觉自己的差的很多。今天的课堂笔记提交的有点晚; ,但确实是自己的能力不够吧,作业完成的晚了些。哎、、、还是那句话,自己努力就好了吧!我相信我自己!