性少妇vide0seⅹfree_国产剧情视频在线观看_日日碰夜夜爽_九九这里只有精品视频_性free毛茸茸偷窥videos_国产v亚洲

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁(yè) > IT資訊 > 學(xué)習(xí)交流 > 知識(shí)分享篇:Java學(xué)習(xí)筆記之表連接查詢

知識(shí)分享篇:Java學(xué)習(xí)筆記之表連接查詢

2020-07-07 12:01:31 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)

Java是一種面向?qū)ο蟮木幊陶Z(yǔ)言,它不僅吸收了C ++語(yǔ)言的優(yōu)點(diǎn),而且還摒棄了C ++中難以理解的多重繼承和指針的概念。因此,Java語(yǔ)言具有兩個(gè)功能:功能強(qiáng)大且易于使用。作為靜態(tài)面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的代表,Java語(yǔ)言出色地實(shí)現(xiàn)了面向?qū)ο蟮睦碚摚瑥亩钩绦騿T能夠以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。關(guān)于表連接查詢的Java學(xué)習(xí)筆記,本文主要概述表連接查詢的概念,功能和分類,以及笛卡爾積現(xiàn)象,以及內(nèi)部連接和右外部連接的內(nèi)容。有興趣的朋友,讓我們一起來(lái)看看。

  一、什么是表連接查詢?

1.準(zhǔn)備

# 創(chuàng)建部門表

create table dept(

id int primary key auto_increment,

name varchar(20))

insert into dept (name) values ('開發(fā)部'),('市場(chǎng)部'),('財(cái)務(wù)部');

# 創(chuàng)建員工表

create table emp (

id int primary key auto_increment,

name varchar(10),

gender char(1), -- 性別

salary double, -- 工資

join_date date, -- 入職日期

dept_id int,foreign key (dept_id) references dept(id) -- 外鍵,關(guān)聯(lián)部門表(部門表的主鍵))

insert into emp(name,gender,salary,join_date,dept_id) values('孫悟空','男',7200,'2013-02-24',1);

insert into emp(name,gender,salary,join_date,dept_id) values('豬八戒','男',3600,'2010-12-02',2);

insert into emp(name,gender,salary,join_date,dept_id) values('唐僧','男',9000,'2008-08-08',2);

insert into emp(name,gender,salary,join_date,dept_id) values('白骨精','女',5000,'2015-10-07',3);

insert into emp(name,gender,salary,join_date,dept_id) values('蜘蛛精','女',4500,'2011-03-14',1);

2.查詢的作用

比如:我們想查詢孫悟空的名字和他所在的部門的名字,則需要使用多表查詢。如果一條SQL語(yǔ)句查詢多張表,因?yàn)椴樵兘Y(jié)果在多張不同的表中。每張表取1列或多列。

  3.查詢的分類

多表查詢分為內(nèi)連接和外連接。內(nèi)連接又分為隱式內(nèi)連接和顯示內(nèi)連接。而外連接又分為左外連接和右外連接。

  二、笛卡爾積現(xiàn)象

  1.是笛卡爾積現(xiàn)象

●需求:查詢所有的員工和所有的部門

select * from emp,dept;

  2.清除笛卡爾積現(xiàn)象的影響

不是所有的數(shù)據(jù)組合都是有用的,只有員工表.dept_id = 部門表.id 的數(shù)據(jù)才是有用的。所以需要通過條件過濾掉沒用的數(shù)據(jù)。

●設(shè)置過濾條件 Column 'id' in where clause is ambiguous

select * from emp,dept where id=5;

select * from emp,dept where emp.`dept_id` = dept.`id`;

●查詢員工和部門的名字

select emp.`name`, dept.`name` from emp,dept where emp.`dept_id` = dept.`id`;

  三、內(nèi)連接

用左邊表的記錄去匹配右邊表的記錄,如果符合條件的則顯示。如:從表.外鍵=主表.主鍵

  1.內(nèi)連接

隱式內(nèi)連接:看不到JOIN關(guān)鍵字,條件使用WHERE指定。SELECT 字段名 FROM 左表, 右表 WHERE 條件:

select * from emp,dept where emp.`dept_id` = dept.`id`;

  2.內(nèi)連接

顯示內(nèi)連接:使用INNER JOIN ... ON語(yǔ)句, 可以省略INNER,SELECT 字段名 FROM 左表 [INNER] JOIN 右表 ON 條件,查詢唐僧的信息,顯示員工id,姓名,性別,工資和所在的部門名稱,我們發(fā)現(xiàn)需要聯(lián)合2張表同時(shí)才能查詢出需要的數(shù)據(jù),使用內(nèi)連接。

  四、左外連接

左外連接:使用LEFT OUTER JOIN ... ON,OUTER可以省略,SELECT 字段名 FROM 左表 LEFT [OUTER] JOIN 右表 ON 條件,用左邊表的記錄去匹配右邊表的記錄,如果符合條件的則顯示;否則,顯示NULL;可以理解為:在內(nèi)連接的基礎(chǔ)上保證左表的數(shù)據(jù)全部顯示(左表是部門,右表員工)。

●在部門表中增加一個(gè)銷售部

insert into dept (name) values ('銷售部');

select * from dept;

●使用內(nèi)連接查詢

select * from dept d inner join emp e on d.`id` = e.`dept_id`;

●使用左外連接查詢

select * from dept d left join emp e on d.`id` = e.`dept_id`;

  五、右外連接

右外連接:使用RIGHT OUTER JOIN ... ON,OUTER可以省略,SELECT 字段名 FROM 左表 RIGHT [OUTER ]JOIN 右表 ON 條件,用右邊表的記錄去匹配左邊表的記錄,如果符合條件的則顯示;否則,顯示NULL可以理解為:在內(nèi)連接的基礎(chǔ)上保證右表的數(shù)據(jù)全部顯示:

insert into emp values (null, '沙僧','男',6666,'2013-12-05',null);

select * from emp;

●使用內(nèi)連接查詢

select * from dept inner join emp on dept.`id` = emp.`dept_id`;

●使用右外連接查詢

select * from dept right join emp on dept.`id` = emp.`dept_id`。

以上就是關(guān)于Java學(xué)習(xí)筆記中表連接查詢的全部?jī)?nèi)容,如果還想了解更多關(guān)于Java學(xué)習(xí)筆記的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。

主站蜘蛛池模板: 在线免费视频 | 91麻豆国产香蕉久久精品 | 2023国产精品久久久精品双 | 国产手机在线播放 | 欧美影院4区 | 欧美+亚洲+精品+三区 | 国产精品视频一区二区三 | 黄色www在线观看 | 国产色综合久久无码有码 | 国产欧美69久久久久久9龙 | 原纱央莉成人av片 | t∨澳门黄不让成人在线无码视频 | 亚洲人成网站999久久久综合 | 国产精品网站在线看 | 91精品婷婷国产综合久久性色 | 视频在线免费观看资源 | 韩国一级黄色片 | 啪啪免费观看 | 91人人爽久久涩噜噜噜 | 福利视频一二三区 | 高清国产天堂在线bt免费 | "夜夜操 天天操" | 国产精品亚洲色婷婷99久久精品 | 香蕉在线视频播放 | 成人毛片18女人毛片 | 真实国产精品视频400部 | 2017狠狠拍狠狠狠色 | 午夜福利体验免费体验区 | sex中国少妇对白呻吟 | 阳茎伸入女人阳道视频免费 | 亚洲国产美女精品久久久 | 911国语对白 | 日本在线视频免费看 | 亚洲国产精品大学美女久久久爽 | 小12萝裸体视频国产 | 最新小四郎av网站在线观看 | www.嫩草影院| 人人在线超碰 | 个人极品色综合 | 中文字幕无码久久精品 | 久天啪天天久久99久久 |