欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql查詢字母,純小白零基礎(chǔ)如何入門SQL語言

張吉惟2年前22瀏覽0評論
mysql查詢字母,純小白零基礎(chǔ)如何入門SQL語言?

首先掌握基本查詢,深入點再掌握數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計方法。以下我們以某oracle數(shù)據(jù)庫中的表sys_user、sys_depetment和sys_employee舉例

表結(jié)構(gòu)如下:

(1)、sys_user(用戶表)

(1)、sys_depetment(部門表)

(2)、sys_employee(雇員表)

ER圖到關(guān)系模式集的轉(zhuǎn)換

以二元聯(lián)系類型的轉(zhuǎn)換為例

1. (實體類型的轉(zhuǎn)換):將每個實體類型轉(zhuǎn)換成一個關(guān)系模式,實體的屬性即為關(guān)系模式的屬性,實體標識符即為關(guān)系模式的鍵。

2. (聯(lián)系類型的轉(zhuǎn)換):

1. 若實體間聯(lián)系是1:1,可以在兩個實體類型轉(zhuǎn)換成的兩個關(guān)系模式中任意一個關(guān)系模式的屬性中加入另一個關(guān)系模式的鍵(作為外鍵)和聯(lián)系類型的屬性。

2. 若實體間聯(lián)系是1:N,則在N端實體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實體類型的鍵(作為外鍵)和聯(lián)系類型的屬性。

3. 若實體間聯(lián)系是M:N,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模式,其屬性為兩端實體類型的鍵(作為外鍵)加上聯(lián)系類型的屬性,而鍵為兩端實體鍵的組合。

實例:教學管理的ER圖轉(zhuǎn)換成關(guān)系模式集

教學管理的ER圖

第一步:把三個實體類型轉(zhuǎn)換成三個模式:

系(系編號,系名,電話)

教師(教工號,姓名,性別,職稱)

課程(課程號,課程名,學分)

第二步:

1. 對于1:1聯(lián)系“主管”,可以再“系”模式中加入教工號(教工號為外鍵,用波浪線表示);

2. 對于1:N聯(lián)系“聘用”,可以再“教師”模式中加入系編號和聘期兩個屬性(系編號為外鍵);

3. 對于1:N聯(lián)系“開設(shè)”,可以再“課程”模式中加入系編號(系編號為外鍵)

這樣得到的三個模式成如下形式:

第三步:對于M:N聯(lián)系“任教”,則生成一個新的關(guān)系模式:

第四步:整合后關(guān)系模式如下:

系統(tǒng)用戶(用戶編號,用戶姓名,用戶登錄名,用戶登錄密碼,雇員編號)

雇員(雇員編號,雇員姓名,年齡,性別,職務,部門編號)

部門(部門編號,部門名稱,部門編號)

1、增

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

values ('c9e5d6f90f02428ea8a9cc4410dc5c06', 'Daibz', 'c4ca4238a0b923820dcc509a6f75849b',

'fd767722ffa741cf89db964873bf4f75', '代邦振', '1', to_date('07-05-2018 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 '%代%'

多表查詢:

多表連接查詢通過表之間的關(guān)聯(lián)字段,一次查詢多表數(shù)據(jù)。

下面將依次介紹 多表連接中的如下方法:

1、from a,b

2、inner join

3、left outer join

4、right outer join

兩個表的deptno字段關(guān)聯(lián)。

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

查詢結(jié)果除了返回包含連接條件的行,還包含左表(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;

當查詢中出現(xiàn)過濾條件時:

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%';

解釋:先根據(jù)連接條件a.depid = b.depid查詢,再對查詢結(jié)果按過濾條件查詢。

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表按過濾條件查詢,再對結(jié)果執(zhí)行左連接查詢。

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

查詢結(jié)果除了返回包含連接條件的行,還包含右表(b)中不滿足連接條件的行,

其中不滿足連接條件的行中a表的字段值將被置為空。

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