首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL3_查询

文章目录 MySQL_查询 1.数据的完整性 (1).保证实体的完整 (2).保证域的完整性 (3).引用的完整性 (4).自定义完整性 2. 3.实体之间的关系 (1).一对一:主键关系 (...13.插入语句的其它用法 MySQL_查询 1.数据的完整性 1.实体的完整性,一条记录,就是一个实体,如果记录无法区分,则失去了实体的完整性 2.域完整性:如果有两个字段无法区分,则失去了域完整性...unique) (2).保证域的完整性 1.数据类型的约束 2.默认值(default) 3.非空约束(not null) (3).引用的完整性 应用(foreign key) (4).自定义完整性...1.存储过程(相当于python中的自定义函数) 2.触发器 2. :从表的公共字段 的约束主要是用来保证引用的完整性的,主外的名字可以不一样,但是数据类型可以一样....ON DELETE CASCADE ON UPDATE CASCADE; #删除外 #score_ibfk_1 的名字,可以有多个 alter table score drop foreign

3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL数据库——多表查询之内连接查询连接查询、子查询

    1 多表查询 1.1 多表查询概述 多表查询就是从多个表中进行数据的查询操作,语法:select  列名列表 from 表名的列表  where......DOUBLE, -- 工资 join_date DATE, -- 入职日期 dept_id INT, FOREIGN KEY (dept_id) REFERENCES dept(id) -- ...1.2 多表查询的分类 1.2.1 内连接查询 1)隐式内连接:使用where条件来消除无用的数据; -- 查询所有员工信息和对应的部门信息 SELECT *FROM emp,dept WHERE emp...`id`; 3)内连接查询注意事项: 从哪些表中查询; 条件是什么; 查询哪些字段; 1.2.2 连接查询 1)左连接:查询的是左表所有的数据及其交集部分。...2)右连接:查询的是右表所有的数据及其交集部分。

    11.8K10

    mysql 多表查询

    一、使用SELECT子句进行多表查询 SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件 SELECT a.id,a.name,a.address...tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id 注:在上面的的代码中,以两张表的id字段信息相同作为条件建立两表关联,但在实际开发中不应该这样使用,最好用主外约束来实现...:test_expression指SQL表达式,subquery包含某结果集的子查询 多表嵌套查询的原理:无论是多少张表进行嵌套,表与表之间一定存在某种关联,通过WHERE子句建立此种关联实现查询 六...,这样可以方便用户在使用mysql_fetch_array()函数时为表项赋值,如 SELECT (SELECT AVG(chinese) FROM tb_demo071) AS yuwen ,(SELECT...十五、使用连接实现多表联合查询 (1)LEFT OUTER JOIN表示表之间通过左连接方式相互连接,也可简写成LEFT JOIN,它是以左侧的表为基准故称左连接,左侧表中所有信息将被全部输出,而右侧表信息则只会输出符合条件的信息

    5.6K10

    mysql多表查询

    多表查询 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。...前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了,也可能没有建立。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。 1....一个案例引发的多表连接 1.1 案例说明 [在这里插入图片描述] 查询员工名为'Abel'的人在哪个城市工作?...在MySQL中如下情况会出现笛卡尔积: 查询员工姓名和所在部门名称SELECT last_name,department_name FROM employees,departments; SELECT...`department_id = departments.department_id; 建议:从sql优化的角度,建议多表查询时,每个字段前都指明其所在的表。

    5K20

    MySQL 多表查询

    # MySQL 多表查询 mysql多表查询 问题的引出(重点,难点) 说明 多表查询练习 自连接 mysql表子查询 什么是子查询 单行子查询 多行子查询 在多行子查询中使用 all 操作符 在多行子查询中使用...any 操作符 多列子查询 在 from 子句中使用子查询 表复制 自我复制数据(蠕虫复制) 合并查询 介绍 连接 课堂练习 # mysql多表查询 # 问题的引出(重点,难点) # 说明 多表查询是指基于两个和两个以上的表查询....在实际应用中,查询单个表可能不能满足你的需求. # 多表查询练习 -- 多表查询 -- 显示雇员名,雇员工资及所在部门的名字【笛卡尔积】 SELECT * FROM salgrade SELECT...2.把上面的结果当做子查询,和emp进行多表查询 SELECT ename,sal,temp.avg_sal,emp.deptno FROM emp,( SELECT deptno,AVG(sal...FROM emp WHERE sal>2500 UNION SELECT ename,sal,job FROM emp WHERE job='MANAGER'-- 6 # 连接 左连接(如果左侧的表完全显示我们就说是左连接

    4K20

    Mysql多表查询

    前言 学习SQL多表查询,本文就介绍MySQL数据库中联表查询方法 一、MySQL中有几种联表查询方法?...内连接:inner join 或 join 左连接:left join 右连接:right join 全连接:Mysql是不支持全连接的,可以利用union合并结果集实现全连接效果 等值连接:where...select * from table_1 t1 left join table_2 t2 on t1.id=t2.id;   左连接取表之间的交集以及左表的全部数据  3.右连接 select...from table_1 union select * from table_2;   知道内连接,左连接和右连接后,全连接我想应该也知道了吧。...,比如:等值连接查询 总结 以上就是今天要讲的内容,本文仅仅介绍了常用的6种表连接方式,在SQL中还有一些方式,比如:条件不一定得是”等值“,也可以是范围。

    18830

    MySQL多表查询

    多表查询如果不加任何条件,得到的结果称为笛卡尔积。 例如,查找雇员名、雇员工资以及部门所在的名字。...3.显示每个部门的信息(部门名、编号、地址)和人员数量 这里有两种方法可以使用,但是经验证,当数据非常多的时候from子查询的效率是高于多表查询的。...  定义主表和从表的关系,约束主要是定义在从表上,主表必须是有主键或者唯一。...当定义后,要求列数据必须在主表列存在或者为NULL。   ...例如:创建一个主表class,从表stu   由上图,我们可以知道主键不能为null,但是可以为null,同时不能存在外有的数据而主表中不存在。

    3.1K30

    ⑧【MySQL】数据库查询:内连接、连接、自连接、子查询多表查询

    、子查询多表查询MySQL数据库查询 1....多表关系 多表关系: 一对一 :在任意一方加入,关联另一方的主键,并设置为唯一(UNIQUE)。 一对多(多对一) :在多的一方建立,指向一的一方的主键。...多对多 :建立第三张表作为中间表,中间表至少包含两个,分别关联双方主键。 2. 多表查询 多表查询: 在多张表中查询数据。...笛卡尔积:两个集合,集合A 与 集合B中元素的所有组合情况,在多表查询时需要使用WHERE关键字或 JOIN ON关键字消除笛卡尔积。...`id`; 右连接 —— RIGHT OUTER JOIN 连接查询 —— 右连接 连接 —— 右连接: ①查询表2所有数据,包含表1和表2交集部分的数据。

    47280

    Mysql 多表查询详解

    Mysql 多表查询详解 一.前言 二.示例 三.注意事项 一.前言 上篇讲到Mysql中关键字执行的顺序,只涉及了一张表;实际应用大部分情况下,查询语句都会涉及到多张表格 : 1.1 多表连接有哪些分类...首先先列举本篇用到的分类(内连接,连接,交叉连接)和连接方法(如下): A)内连接:join,inner join B)连接:left join,left outer join,right join...2.2 连接(六种场景) 2.2.1 left join 或者left outer join(等同于left join) select a.*, b.* from tablea a left join...where a.id is null 结果如下: 应用场景: 这种场景下得到的是B中的所有数据减去 “与A满足同一条件 的数据“,然后得到的B剩余数据; 2.2.5 full join (mysql...不支持,而且本身也没有多大意义,其结果可以用上面的几种连接方式得到 总结:总结了mysql所有连接方法,其中有一些是之前没有注意到的问题,平时开发也都不外乎这些。

    2K20

    MySQL基础-多表查询

    文章目录 MySQL基础-多表查询 一、案例及引入 1、基础概念 2、笛卡尔积的理解 二、多表查询的分类 1、等值连接 vs 非等值连接 2、自连接 vs 非自连接 3、内连接 vs 连接 三、...UNION的使用 四、7种SQL JOINS的实现 五、SQL99语法新特性 MySQL基础-多表查询 一、案例及引入 1、基础概念 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作 前提条件...: 这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段 这个关联字段可能建立了,也可能没有建立 比如:员工表和部门表,这两个表依靠“部门编号”进行关联 #案例...:查询员工的姓名及其部门名称 SELECT last_name, department_name FROM employees, departments; 说明:上述多表查询中出现的问题称为:笛卡尔积的错误...即左或右连接中,(+) 表示哪个是从表,Oracle 对 SQL92 支持较好,而 MySQL 则不支持 SQL92 的连接 而且在 SQL92 中,只有左连接和右连接,没有满(或全)连接 #

    2.8K20

    MySQL多表查询详解

    一使用SELECT子句进行多表查询SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件SELECT a.id,a.name,a.address,a.date...tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id注:在上面的的代码中,以两张表的id字段信息相同作为条件建立两表关联,但在实际开发中不应该这样使用,最好用主外约束来实现二使用表的别名进行多表查询如...:无论是多少张表进行嵌套,表与表之间一定存在某种关联,通过WHERE子句建立此种关联实现查询六嵌套查询查询统计中的应用实现多表查询时,可以同时使用谓词ANY、SOME、ALL,这些谓词被称为定量比较谓词...name='$_POST[text]')总之,实现表与表之间的关联的本质是两表之间存在共同的数据项或者相同的数据项,通过WHERE 子句或内连接INNER JOIN … ON 语句将两表连接起来,实现查询十五使用连接实现多表联合查询...多表查询》,请注明出处:https://www.zhoulujun.cn/html/DB/mysql/2015_1027_332.html

    1.4K10

    mysql-多表查询

    set (0.00 sec) ps:观察两张表,发现department表中id=203部门在employee中没有对应的员工,发现employee中id=6的员工在department表中没有对应关系 多表连接查询...从该题中,我们看出既要查员工又要查该员工的部门,肯定要将两张表进行连接查询多表连接查询 重点:链接语法 语法: SELECT 字段列表     FROM 表1 INNER|LEFT|RIGHT JOIN...:显示左右两个表全部记录 连接:在内连接的基础上增加左边有右边没有的和右边有左边没有的结果 注意:mysql不支持全连接 full JOIN 强调:mysql可以使用此种方式间接实现全连接 mysql...=、> 、<等 例子: (1)带in关键字的子查询 查询平均年龄在25岁以上的部门名 mysql> select id,name from department where id in (select...True或False 当返回True时,外层查询语句将进行查询;当返回值为False时,外层查询语句不进行查询 department表中存在dept_id=203,Ture mysql> select

    2K10

    MySQL多表查询

    阅读目录 一 多表联合查询多表连接查询 三 复杂条件多表查询 四 子语句查询 五 其他方式查询 六 SQL逻辑查询语句执行顺序(重点) 七 约束 八 其他约束类型 九 表与表之间的关系...select * from person,dept where person.did = dept.did; #注意: 多表查询时,一定要找到两个表中相互关联的字段,并且作为条件使用 mysql>...的约束4种类型: 1.RESTRICT 2. ...not null) (4)建议:1.如果需要约束,最好创建表同时创建约束.        2.如果需要设置级联关系,删除时最好设置为 SET NULL....有个巧妙的方法,在车辆的表中加个字段(人的编号)即可。  * (思路小结:’建两个表,一’方不动,’多’方添加一个字段)* ?

    8.5K120
    领券