欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 學習交流 > 知識分享篇:Java學習筆記之表連接查詢

知識分享篇:Java學習筆記之表連接查詢

2020-07-07 12:01:31 | 來源:中培企業IT培訓網

Java是一種面向對象的編程語言,它不僅吸收了C ++語言的優點,而且還摒棄了C ++中難以理解的多重繼承和指針的概念。因此,Java語言具有兩個功能:功能強大且易于使用。作為靜態面向對象程序設計語言的代表,Java語言出色地實現了面向對象的理論,從而使程序員能夠以優雅的思維方式進行復雜的編程。關于表連接查詢的Java學習筆記,本文主要概述表連接查詢的概念,功能和分類,以及笛卡爾積現象,以及內部連接和右外部連接的內容。有興趣的朋友,讓我們一起來看看。

  一、什么是表連接查詢?

1.準備

# 創建部門表

create table dept(

id int primary key auto_increment,

name varchar(20))

insert into dept (name) values ('開發部'),('市場部'),('財務部');

# 創建員工表

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) -- 外鍵,關聯部門表(部門表的主鍵))

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語句查詢多張表,因為查詢結果在多張不同的表中。每張表取1列或多列。

  3.查詢的分類

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

  二、笛卡爾積現象

  1.是笛卡爾積現象

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

select * from emp,dept;

  2.清除笛卡爾積現象的影響

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

●設置過濾條件 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`;

  三、內連接

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

  1.內連接

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

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

  2.內連接

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

  四、左外連接

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

●在部門表中增加一個銷售部

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

select * from dept;

●使用內連接查詢

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可以理解為:在內連接的基礎上保證右表的數據全部顯示:

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

select * from emp;

●使用內連接查詢

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

●使用右外連接查詢

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

以上就是關于Java學習筆記中表連接查詢的全部內容,如果還想了解更多關于Java學習筆記的信息,請繼續關注中培偉業。

主站蜘蛛池模板: 国产乱理伦片在线观看夜 | 特黄AAAAAAA片免费视频 | 日本添下边视频全过程 | 久久精品视频在线观看 | 波多野结系列18部无码观看a | 亚洲骚妇图片网 | 人妻夜夜爽天天爽三区丁香花 | 调教凌虐妻妾奴在线播放 | 久久久久影院色老大2020 | 窝窝午夜成熟看A级毛片 | 少妇被粗大的猛烈进出69影院一 | 亚洲欧洲成人精品香蕉网 | 啊灬啊灬别停啊灬用力啊免费 | 色婷婷亚洲六月婷婷中文字幕 | 老师脱了内裤让我进去 | 欧洲grand老妇人bbw | 久久99国产精品成人 | 亚洲日本VA午夜中文字幕一区 | 做爰爽全过程免费的看 | www国产精品内射 | 国产欧美性成人精品午夜 | 日韩精品一区二区三区色欲AV | 亚洲国产精品成人久久久麻豆 | 开心五月丁香花综合网 | 四虎院影亚洲永久 | 日本久久综合久久综合 | 中文字幕日韩一区二区三区不卡 | 综合成人亚洲偷自拍色 | 亚洲AV午夜精品一区二区三区 | 日本免费一区二区三区日本 | 真实国产乱子伦视频 | 日本阿v视频高清在线中文 XXXX麻豆成人AV | 成人性生交A片免费看麻豆 黄色片免费观看 | 涩涩视频 | 国产V精品无码好舒服欧美精品 | 亚洲男人的天堂在线视频 | 亚洲熟伦熟女新五十路熟妇 | 国产高清www | 色老大久久综合网天天 | 欧美网站免费观看 | 无码人妻精品一二三区免费 |