当前位置:网站首页>Query method of database multi table link
Query method of database multi table link
2022-07-06 14:37:00 【Floating~】
Tips : Used in this period SQL sentence ,MySQL database ,Navicat Database management tools
Catalog
One 、 The tables you need to use
Two 、 Non equivalent connection
3、 ... and 、 Equivalent connection
1. Equivalent connection query method
2. Internal connection (inner join)
3. Left outer connection query (left join)
4. Right outer connection query (right join)
5. All external connection query (union)
Preface
First , We need to know why database tables are multiple tables , Because designing a table will cause data redundancy , Cause a waste of database space , However, sometimes we need to integrate data from multiple tables and query them , At this time, you need to query by associating the primary and foreign key relationships between tables .
This article will divide according to the connection mode of the table , Non equivalent connection , Equivalent connection ( Internal connection , The left outer join ( Left connection ), Right connection ( The right connection ), Full outer join ) Two parts are explained .
One 、 The tables you need to use
① Student list (student):
CREATE TABLE `student` (
`Sid` int(11) NOT NULL AUTO_INCREMENT,
`Sname` varchar(10) DEFAULT NULL,
`birthday` datetime DEFAULT NULL,
`Ssex` varchar(10) DEFAULT NULL,
`classid` int(11) DEFAULT NULL,
PRIMARY KEY (`Sid`)
)
② The curriculum (course):
CREATE TABLE `course` (
`Cid` int(11) NOT NULL AUTO_INCREMENT,
`Cname` varchar(10) DEFAULT NULL,
`Tid` varchar(10) DEFAULT NULL,
PRIMARY KEY (`Cid`)
)
③ Class table (class):
CREATE TABLE `class` (
`classid` int(11) NOT NULL AUTO_INCREMENT,
`classname` varchar(20) DEFAULT NULL,
PRIMARY KEY (`classid`)
)
Two 、 Non equivalent connection
Definition :
The non equivalent connection is the Cartesian product , It refers to any combination of all elements in two relationships . In general , Non equivalent queries are useless , Because if the amount of data is too large , The table formed by Cartesian product will take up a lot of space .
Add : Cartesian product is also called direct product , Express XY, such as A The data in the table are m That's ok ,b The data in the table are n That's ok , that A and B Do Cartesian product , The result is mn That's ok .
grammar :
SELECT * from surface 1 CROSS JOIN surface 2;
give an example :( Student schedule and Curriculum )
SELECT * from student CROSS JOIN course;
For example, the first article will show all the courses of Zhao Lei .
3、 ... and 、 Equivalent connection
1. Equivalent connection query method
Definition :
Use the equal sign operator in the connection condition to compare the values of the connected fields , The virtual table generated by it will show all the columns of the connected table , Include duplicate Columns .
grammar :
select * from surface 1, surface 2 where surface 1. Field = surface 2. Field 2;
give an example : ( Student list and class list )
SELECT * FROM student,class WHERE student.classid=class.classid;
2. Internal connection (inner join)
grammar :
select * from surface 1 inner join surface 2 on Conditions ;
give an example : ( Student list and class list )
select * from student inner join class on student.classid=class.classid;
3. Left outer connection query (left join)
grammar :
select * from surface 1 left join surface 2 on surface 1. Field = surface 2. Field ;
give an example : ( Student list and class list )
The student table will be used as the main table for query , Zhang San will show up without class .
select * from student LEFT join class on student.classid=class.classid;
4. Right outer connection query (right join)
grammar :
select * from surface 1 right join surface 2 on surface 1. Field = surface 2. Field ;
give an example : ( Student list and class list )
The class table will be displayed as the main table , As shown in the figure, no one in class 4 will also show .
select * from student right join class on student.classid=class.classid;
5. All external connection query (union)
grammar :
select * from surface 1 left join surface 2 on surface 1. Field = surface 2. Field
union
select * from surface 1 right join surface 2 on surface 1. Field = surface 2. Field ;
give an example : ( Student list and class
select * from student LEFT join class on student.classid=class.classid
UNION
select * from student right join class on student.classid=class.classid;
Little share , I hope you can get something !!!
边栏推荐
猜你喜欢
An unhandled exception occurred when C connected to SQL Server: system Argumentexception: "keyword not supported:" integrated
“人生若只如初见”——RISC-V
《统计学》第八版贾俊平第七章知识点总结及课后习题答案
Record an edu, SQL injection practice
Intranet information collection of Intranet penetration (I)
Hcip -- MPLS experiment
数字电路基础(三)编码器和译码器
内网渗透之内网信息收集(三)
Get started with Matplotlib drawing
Statistics 8th Edition Jia Junping Chapter 7 Summary of knowledge points and answers to exercises after class
随机推荐
c语言学习总结(上)(更新中)
Fundamentals of digital circuit (IV) data distributor, data selector and numerical comparator
AQS details
Numpy Quick Start Guide
《统计学》第八版贾俊平第一章课后习题及答案总结
MySQL interview questions (4)
Statistics 8th Edition Jia Junping Chapter 12 summary of knowledge points of multiple linear regression and answers to exercises after class
【指针】求字符串的长度
[issue 18] share a Netease go experience
On the idea of vulnerability discovery
Statistics 8th Edition Jia Junping Chapter XIII Summary of knowledge points of time series analysis and prediction and answers to exercises after class
Mathematical modeling idea of 2022 central China Cup
[pointer] octal to decimal
函数:计算字符串中大写字母的个数
函数:求两个正数的最大公约数和最小公倍
Binary search tree concept
指针:最大值、最小值和平均值
内网渗透之内网信息收集(三)
Statistics, 8th Edition, Jia Junping, Chapter 11 summary of knowledge points of univariate linear regression and answers to exercises after class
函数:求方程的根