当前位置:网站首页>Multi table operation inner join query
Multi table operation inner join query
2022-07-04 19:41:00 【Soup key TJ】
Catalog
Multi table query classification
Multi table query data preparation
Multi table query classification
- Internal connection query
- External connection query
- Subquery
- Self association query
Multi table query data preparation
- Create a total of 5 Tables
- They are user tables , The order sheet , Classification list , Commodity list , In the middle of table
-- establish user surface CREATE TABLE user( id INT PRIMARY KEY auto_increment, -- user id name VARCHAR(20), -- User name age INT -- User age ); -- Add data INSERT INTO user VALUES (1,' Zhang San ',23); INSERT INTO user VALUES (2,' Li Si ',24); INSERT INTO user VALUES (3,' Wang Wu ',25); INSERT INTO user VALUES (4,' Zhao Liu ',26); -- Create order form CREATE TABLE orderlist( id INT PRIMARY KEY auto_increment, -- Order id number VARCHAR(20), -- The order no. uid INT, -- Foreign key field CONSTRAINT ou FOREIGN KEY (uid) REFERENCES user(id) ); -- Add data INSERT INTO orderlist VALUES (1,'hm001',1); INSERT INTO orderlist VALUES (2,'hm002',1); INSERT INTO orderlist VALUES (3,'hm003',2); INSERT INTO orderlist VALUES (4,'hm004',2); INSERT INTO orderlist VALUES (5,'hm005',3); INSERT INTO orderlist VALUES (6,'hm006',3); INSERT INTO orderlist VALUES (7,'hm007',NULL); -- Create commodity classification table CREATE TABLE category( id INT PRIMARY KEY auto_increment, -- Classification of goods id NAME VARCHAR(20) -- Category name ); -- Add data INSERT INTO category VALUES (1,' Mobile phone digital '); INSERT INTO category VALUES (2,' Computer office '); INSERT INTO category VALUES (3,' Tobacco, wine, tea and sugar '); INSERT INTO category VALUES (4,' Shoes and bags '); -- Create a product list CREATE TABLE product( id INT PRIMARY KEY auto_increment, -- goods id NAME VARCHAR(20), -- Name of commodity cid INT, -- Foreign key field CONSTRAINT cp_1 FOREIGN KEY (cid) REFERENCES category(id) ); -- Add data INSERT INTO product VALUES (1,' Huawei mobile phones ',1); INSERT INTO product VALUES (2,' Mi phones ',1); INSERT INTO product VALUES (3,' Lenovo computer ',2); INSERT INTO product VALUES (4,' Apple computer ',2); INSERT INTO product VALUES (5,' Chinese cigarettes ',3); INSERT INTO product VALUES (6,' Yuxi cigarette ',3); INSERT INTO product VALUES (7,' Family planning supplies ',NULL); -- Create middle table CREATE TABLE us_pro( upid INT PRIMARY KEY auto_increment, -- In the middle of table id uid INT, -- Foreign key field , It needs to be associated with the primary key of the user table pid INT, -- Foreign key field , It needs to be associated with the primary key of the commodity table CONSTRAINT up_1 FOREIGN KEY (uid) REFERENCES user(id), CONSTRAINT up_2 FOREIGN KEY (pid) REFERENCES product(id) ); -- Add data INSERT INTO us_pro VALUES (NULL,1,1); INSERT INTO us_pro VALUES (NULL,1,2); INSERT INTO us_pro VALUES (NULL,1,3); INSERT INTO us_pro VALUES (NULL,1,4); INSERT INTO us_pro VALUES (NULL,1,5); INSERT INTO us_pro VALUES (NULL,1,6); INSERT INTO us_pro VALUES (NULL,1,7); INSERT INTO us_pro VALUES (NULL,2,1); INSERT INTO us_pro VALUES (NULL,2,2); INSERT INTO us_pro VALUES (NULL,2,3); INSERT INTO us_pro VALUES (NULL,2,4); INSERT INTO us_pro VALUES (NULL,2,5); INSERT INTO us_pro VALUES (NULL,2,6); INSERT INTO us_pro VALUES (NULL,2,7); INSERT INTO us_pro VALUES (NULL,3,1); INSERT INTO us_pro VALUES (NULL,3,2); INSERT INTO us_pro VALUES (NULL,3,3); INSERT INTO us_pro VALUES (NULL,3,4); INSERT INTO us_pro VALUES (NULL,3,5); INSERT INTO us_pro VALUES (NULL,3,6); INSERT INTO us_pro VALUES (NULL,3,7); INSERT INTO us_pro VALUES (NULL,4,1); INSERT INTO us_pro VALUES (NULL,4,2); INSERT INTO us_pro VALUES (NULL,4,3); INSERT INTO us_pro VALUES (NULL,4,4); INSERT INTO us_pro VALUES (NULL,4,5); INSERT INTO us_pro VALUES (NULL,4,6); INSERT INTO us_pro VALUES (NULL,4,7);
Query principle
- Inner join queries are part of the data where two tables intersect ( Data associated with primary and foreign keys )
The query syntax
- Explicit inner connection
- select Name from Table name 1 [inner] join Table name 2 on Conditions
- Implicit inner join
- select Name from Table name 1, Table name 2 where Conditions
Relevant concepts
- Self join
- Concept : It is a special equivalent connection in inner connection query , The so-called self connection refers to the connection between a table and its current table
- The biggest feature : One table is regarded as two tables
- Connect yourself
- Equivalent connection
- Is in the keyword on The matching condition after is through = To achieve ;
- Equivalent connection is usually a table connecting another table
- Unequal value connection
- In keywords on Use in the post matching condition except = Inequality conditions implemented by relational operators other than (> >= < <= !=)
Example operation
- Explicit inner connection
- Query user information and corresponding order information
- Query user information and corresponding order information , names
- Query user name , Age and order number
-- Explicit inner connection -- Query user information and corresponding order information SELECT * FROM user INNER JOIN orderlist ON orderlist.uid=user.id; -- Query user information and corresponding order information , names SELECT * FROM user u INNER JOIN orderlist o ON o.uid=u.id; -- Query user name , Age and order number SELECT u.name, -- User name u.age, -- User age o.number -- The order no. FROM user u -- User table INNER JOIN orderlist o -- The order sheet ON o.uid=u.id;
- Implicit inner join
- Query user name , Age and order number
-- Implicit inner join -- Query user name , Age and order number SELECT u.name, -- User name u.age, -- User age o.number -- The order no. FROM user u, -- User table orderlist o -- The order sheet WHERE o.uid=u.id;
边栏推荐
- Shell 编程核心技术《四》
- BCG 使用之CBCGPProgressDlg进度条使用
- Socket programming demo II
- . Net ORM framework hisql practice - Chapter 2 - using hisql to realize menu management (add, delete, modify and check)
- Lm10 cosine wave homeopathic grid strategy
- 多表操作-内连接查询
- TCP两次挥手,你见过吗?那四次握手呢?
- 如何使用Async-Awati异步任務處理代替BackgroundWorker?
- 1006 Sign In and Sign Out(25 分)(PAT甲级)
- Shell programming core technology II
猜你喜欢
Comment utiliser async awati asynchrone Task Handling au lieu de backgroundworker?
黑马程序员-软件测试--09阶段2-linux和数据库-31-43修改文件权限字母发的说明,-查找链接修改文件,查找文件命令,链接文件,压缩解压方式,vi编辑器基本使用,
BCG 使用之CBCGPProgressDlg进度条使用
与二值化阈值处理相关的OpenCV函数、方法汇总,便于对比和拿来使用
English grammar_ Noun - use
TCP两次挥手,你见过吗?那四次握手呢?
Oracle with as ORA-00903: invalid table name 多表报错
BCG 使用之新建向导效果
记一次 .NET 某工控数据采集平台 线程数 爆高分析
SSRS筛选器的IN运算(即包含于)用法
随机推荐
YOLOv5s-ShuffleNetV2
Upgrade the smart switch, how much is the difference between the "zero fire version" and "single fire" wiring methods?
【问题】druid报异常sql injection violation, part alway true condition not allow 解决方案
Swagger突然发癫
Chrome开发工具:VMxxx文件是什么鬼
Specify the character set to output
BCG 使用之CBCGPProgressDlgCtrl进度条使用
To sort out messy header files, I use include what you use
升级智能开关,“零火版”、“单火”接线方式差异有多大?
Stream流
92.(cesium篇)cesium楼栋分层
关于判断点是否位于轮廓内的一点思考
1003 emergency (25 points) (PAT class a)
Oracle with as ORA-00903: invalid table name 多表报错
Matrix flip (array simulation)
1008 elevator (20 points) (PAT class a)
Online text line fixed length fill tool
HMM隐马尔可夫模型最详细讲解与代码实现
测试工程师如何“攻城”(下)
C语言-入门-基础-语法-流程控制(七)