900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql 怎么查询年龄 纯小白零基础如何入门SQL语言 – 数据库 – 前端 mysql的ini文件怎么打开

mysql 怎么查询年龄 纯小白零基础如何入门SQL语言 – 数据库 – 前端 mysql的ini文件怎么打开

时间:2019-12-22 15:47:58

相关推荐

mysql 怎么查询年龄 纯小白零基础如何入门SQL语言 – 数据库 – 前端 mysql的ini文件怎么打开

表结构如下:

(1)、sys_user(用户表)

(1)、sys_depetment(部门表)

(2)、sys_employee(雇员表)

ER图到关系模式集的转换

以二元联系类型的转换为例

1.(实体类型的转换):将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。

2.(联系类型的转换):

1.若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和联系类型的属性。

2.若实体间联系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作为外键)和联系类型的属性。

3.若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键(作为外键)加上联系类型的属性,而键为两端实体键的组合。

实例:教学管理的ER图转换成关系模式集

教学管理的ER图

第一步:把三个实体类型转换成三个模式:

系(系编号,系名,电话)

教师(教工号,姓名,性别,职称)

课程(课程号,课程名,学分)

第二步:

1.对于1:1联系“主管”,可以再“系”模式中加入教工号(教工号为外键,用波浪线表示);

2.对于1:N联系“聘用”,可以再“教师”模式中加入系编号和聘期两个属性(系编号为外键);

3.对于1:N联系“开设”,可以再“课程”模式中加入系编号(系编号为外键)

这样得到的三个模式成如下形式:

第三步:对于M:N联系“任教”,则生成一个新的关系模式:

第四步:整合后关系模式如下:

系统用户(用户编号,用户姓名,用户登录名,用户登录密码,雇员编号)

雇员(雇员编号,雇员姓名,年龄,性别,职务,部门编号)

部门(部门编号,部门名称,部门编号)

1、增

insert into sys_user (USERID, USERCODE, USERPASS, EMPID, USERNAME, VALIDFLAG, LASTCHANGEDATE)

values (‘c9e5d6f90f02428ea8a9cc4410dc5c06’, ‘Daibz’, ‘c4ca4238a0b923820dcc509a6f75849b’,

‘fd767722ffa741cf89db964873bf4f75’, ‘代邦振’, ‘1’, to_date(’07-05- 13:54:25′, ‘dd-mm-yyyy hh24:mi:ss’));

2、删

delete from sys_user where usercode=’Daibz’

3、改

update sys_user set userpass=’c4ca4238a0b923820dcc509a6f75849b’ where usercode=’test’

update sys_user set userpass=’1′ where usercode=’test’

4、查

select * from sys_user

select * from sys_employee

select * from sys_department

模糊查询:

select * from sys_user where username like ‘代__’

select * from sys_user where username like ‘%代%’

多表查询:

多表连接查询通过表之间的关联字段,一次查询多表数据。

下面将依次介绍 多表连接中的如下方法:

1、from a,b

2、inner join

3、left outer join

4、right outer join

两个表的deptno字段关联。

1、from 表1,表2

语法:select a.x,b.y from a,b where a.id=b.id;

实例:

返回所有满足where条件的行

select a.empid as 员工编号, a.empname as 员工名称, b.depname as 部门

from sys_employee a, sys_department b

where a.depid = b.depid; 扩展:查询用户名,姓名,部门,密码select u.username as 用户名,e.empname as 姓名,d.depname as 部门,u.userpass as 密码 from sys_user u,sys_employee e,sys_department d where u.empid=e.empid and e.depid=d.depid

2、inner join

语法:select a.x from a inner join b on a.id=b.id;

inner 可以省略.

实例:

select a.empid as 员工编号, a.empname as 员工名称, b.depname as 部门

from sys_employee a inner join sys_department b on a.depid = b.depid;

扩展:查询用户名,姓名,部门,密码

select u.username as 用户名,e.empname as 姓名,d.depname as 部门,u.userpass as 密码

from (sys_user u inner join sys_employee e on u.empid=e.empid)

inner join sys_department d on e.depid=d.depid

3、left outer join

查询结果除了返回包含连接条件的行,还包含左表(a)中不满足连接条件的行,

其中不满足连接条件的行中b表的字段值将被置为空。

语法:select a.x from a inner left outer join b on a.id=b.id;

outer 可以省略.

实例:

select a.empid as 员工编号, a.empname as 员工名称, b.depname as 部门

from sys_employee a left outer join sys_department b

on a.depid = b.depid;

当查询中出现过滤条件时:

1)当连接条件后面有where条件时:

select a.empid as 员工编号, a.empname as 员工名称, b.depname as 部门

from sys_employee a left outer join sys_department b on a.depid = b.depid where a.empname like ‘%00%’;

解释:先根据连接条件a.depid = b.depid查询,再对查询结果按过滤条件查询。

2)当连接条件后面有and条件时:

select a.empno as 员工编号, a.ename as 员工名称, b.dname as 部门 from scott.emp a left outer join scott.dept b on (a.deptno = b.deptno and b.dname like ‘SALES’)

解释:先对b表按过滤条件查询,再对结果执行左连接查询。

select a.empid as 员工编号, a.empname as 员工名称, b.depname as 部门

from sys_employee a left outer join sys_department b on (a.depid = b.depid and a.empname like ‘%00%’);

4 、right outer join

查询结果除了返回包含连接条件的行,还包含右表(b)中不满足连接条件的行,

其中不满足连接条件的行中a表的字段值将被置为空。

语法:select a.x from a inner right outer join b on a.id=b.id;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。