您的位置:首页 > 编程语言 > Java开发

Java菜鸟学习日记18

2017-07-25 10:50 190 查看
SQL关联语句

user

1张三1
2李四2
3王五2
4赵六 
department

1教学部 
2招生部 
3班主任部 
user LEFT JOIN department
ON user.id = departmrnt.id

将department表中的对应数据填充在对应的位置,user表的行数不变

有对应关系则对应,无则为null

user RIGHT JOIN department
ON user.id = departmrnt.id

以department表为主,将用户表中的数据对应过来。如果用户表中对应了多条,则department复制出相应的条数

最终表行数可能与department不相等,通常会多

U

user11张三1
user22李四2
user33王五2
user44赵六 
D

department11教学部
department22招生部
depart
4000
ment3
3班主任部
U*D

user1*department1user1*department2user1*department3
user2*department1user2*department2user2*department3
user3*department1user3*department2user3*department3
user4*department1user4*department2user4*department3
然后找到每一个user中departmentid对应的department中的departmentid

user1*department1
user2*department2
user3*department2
user4*null
得到的user表行数不变

D*U

department1*user1department1*user2department1*user3department1*user4
department2*user1department2*user2department2*user3department2*user4
department3*user1department3*user2department3*user3department3*user4
然后找到每一个department中departmentid对应的user中的departmentid

department1*user1
department2*user2
department2*user3
department3*null
得到的department表行数可能增加

SELECT u.*,d.* FROM u,d:相当于u x d (笛卡尔积)

SELECT d.*,u.* FROM u,d:想到与d x u (笛卡尔积)

SELECT u.*,d.* FROM u INNER JOIN d:如果希望从笛卡尔积中筛选数据,可以加ON u.xxx=d.xxx

SELECT u.*,d.* FROM u LEFT JOIN d ON u.xxx=d.xxx

SELECT u.*,d.* FROM u RIGHT JOIN d ON u.xxx=d.xxx

左连接和右连接的区别在于以哪个表为主(主表中的数据都会出现在结果中,即使没有匹配数据)

外键

外键是一种约束条件,设计师使用外键建立表与表之间的连接关系,外键指定的连接有业务意义。它可以强制保持数据的对应关系,不允许意外的数据(没有对应上的数据)存在。它还可以在外键表数据变化时,级联更新、删除或者设置NULL关联表主表中的数据

外键的存在是对关联查询(左、右、内连接等)的一种规范

外键保持数据一致性的选项

Casvade:级联(当外键表(department)中的数据变化时,会更新、删除主表(user)中的数据)

Set Null:设置为空(当外键表(department)中的数据变化时,会将主表(user)中的数据设置为Null,user数据不会被删除)

No Action/Restrict:禁止操作(如果更新外键表时,主表中有与其关联的数据,则更新操作失败,相当于未执行任何操作。如果非要更新、删除则应现将关联数据删除或者通过设置为其他值的方式断开关联关系)

命名规则:fk_主表名_关联表名

fk_:开头一看就要知道是外键

主表名_关联表名:可以很清楚的看到是哪两个表之间的关系

JSP incllude

JSP 的 include 指令可以实现JSP代码的共享引用,可以解决JSP代码的重复问题

代码重复会造成严重的后期维护问题,非常不利于代码的修改、升级

代码重复是质量查的最常见表现,是重构要消灭的第一目标。

不断地通过重构消除项目中的重复代码,就能够提升能力。

为什么做移动页面要使用谷歌浏览器

因为IOS和Android系统中的浏览器都是WebKit内核,而谷歌浏览器使用的就是WebKit内核

Firefox的查看器和网络监视等工具是中文的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息