【MySQL数据库】 (篇二 )让你快速理解重点——查询操作篇

本文详细介绍了SQL中的约束条件,如主键、外键、唯一性、检查和默认值等,以及各种查询语句,包括查询所有数据、条件查询、特定列选择、排序、去重、聚合函数和分组查询。特别关注了内连接、左连接、右连接和全连接等多表查询方法。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文章为新手制作🙏,仅用于冲刺突击,大佬路过请指点
本文章为新手制作🙏,仅用于冲刺突击,大佬路过请指点
本文章为新手制作🙏,仅用于冲刺突击,大佬路过请指点

上一篇博客,我们介绍了如何建库和建表,以及对二者的相应操作(增、删、改)📚

本篇我们讲解上机重点,也是水平测试的重点——查询🔍


提示:以下是本篇文章正文内容,下面案例可供参考

一、约束条件是什么?

书接上回,我们介绍什么是SQL语句中的约束条件🧠

在这里插入图片描述

约束条件是指在数据库表中,对字段或数据值所规定的限制或规则。这些规则用于确保数据的完整性和准确性,防止无效数据的输入。在创建或修改表时,可以定义这些约束条件。

约束条件可以分为以下几类:

主键约束(Primary Key):主键约束是数据库表中对记录唯一标识的一种规范。它要求主键字段的值必须是唯一的,并且不允许为空一个表只能有一个主键,但可以有多个候选键。

外键约束(Foreign Key):外键约束用于在两个表之间建立关联关系。它要求一个表中的字段值必须在另一个表的主键字段中存在,从而确保引用完整性。

唯一约束(Unique):唯一约束确保某列中的所有值都是不同的。与主键约束不同,唯一约束允许空值(NULL),并且一个表可以有多个唯一约束。

检查约束(Check):检查约束用于限制某列中的值的范围。对于每一行数据,该列中的值都必须满足检查约束的条件,否则数据不会被接受

默认值约束(Default):默认值约束用于为某列设置默认值。当插入新记录而没有为该列提供值时,将使用默认值

非空约束(Not Null):非空约束确保某列不能有NULL值

这些约束条件在创建表的时候通过SQL语句的相应部分进行定义,例如:

sql
CREATE TABLE table_name (  
    column1 datatype CONSTRAINT constraint_name PRIMARY KEY,  
    column2 datatype NOT NULL,  
    column3 datatype UNIQUE,  
    column4 datatype CHECK (condition),  
    column5 datatype DEFAULT default_value,  
    FOREIGN KEY (column_name) REFERENCES another_table(another_column)  
);

在上面的SQL语句中,我们定义了各种约束条件,包括主键约束、非空约束、唯一约束、检查约束、默认值约束和外键约束。这些约束条件在数据库的实际应用中起到了非常重要的作用,它们能够确保数据的准确性和一致性。


二、查询语句

1.查询所有数据:

SQL语句:

SELECT * FROM table_name;

逻辑:这个语句用于检索指定表格中的所有数据,* 通配符表示所有列


2.条件查询:

SQL语句:

SELECT * FROM table_name WHERE condition;

逻辑:这个语句用于根据指定的条件检索表格中的数据行。条件由WHERE子句定义,条件满足的行将被返回


3.查询特定列:

SQL语句:

SELECT column1,column2... FROM table_name ;

逻辑:这个语句用于检索指定表格中的特定列数据,可以只选择需要的列,而不是全部列。


4.排序查询:

SQL语句:

SELECT * FROM table_name ORDER BY column_name [ASC|DESC] ;

逻辑:这个语句用于按照指定列的值对结果进行排序默认是升序(ASC),也可以选择降序(DESC)。

一般我们用默认,如下

SELECT * FROM table_name ORDER BY column_name1...  ;

5.去重查询:

SQL语句:

SELECT DISTINCT column_name FROM table_name ;

逻辑:这个语句用于去除结果中重复的数据行只返回唯一的数据行


6.聚合函数查询:

SQL语句:

SELECT COUNT(column_name), SUM(column_name), AVG(column_name), MAX(column_name), MIN(column_name) FROM table_name;

逻辑:这个语句用于对表格中的数据进行聚合操作,如计数(COUNT)、求和(SUM)、平均值(AVG)、最大值(MAX)、最小值(MIN)等。

就是调用官方函数


7.分组查询:

SQL语句:

SELECT  column1... FROM  table_name
ORDER BY column_name;

逻辑:这个语句用于将表格中的数据按照指定列进行分组.


8.多表查询(连接查询):

🚀🚀🚀重点

连接查询(Join)是在关系型数据库中常用的一种查询方法,用于从多个表格中检索相关联的数据。当一个查询需要从多个表格中获取数据时,就需要使用连接查询来关联这些表格,并按照指定的关联条件将它们连接起来,从而获取需要的结果集。

连接查询的基本思想是通过共同的列或关联条件将两个或多个表格中的数据匹配起来,形成一个更大的虚拟表格,然后从这个虚拟表格中获取数据。在连接查询中,通常会使用JOIN关键字来指定表格之间的连接方式和连接条件。

常见的连接方式包括:

1.内连接(Inner Join):

内连接是连接查询的默认方式,它只返回两个表格中满足连接条件的数据行,即两个表格中都存在匹配的数据行。

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

3.左连接(Left Join):

左连接返回左表格(左边的表格)中的所有数据行,以及与右表格中匹配的数据行。如果右表格中没有匹配的数据行,则用NULL值填充

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

3.右连接(Right Join):

右连接返回右表格(右边的表格)中的所有数据行,以及与左表格中匹配的数据行。如果左表格中没有匹配的数据行,则用NULL值填充。

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

3.全连接(Full Join):

全连接返回左表格和右表格中的所有数据行无论是否有匹配的数据行。如果某个表格中没有匹配的数据行,则用NULL值填充。

具体来说:

如果表格中某行的键在右表格中没有对应的匹配行,那么该行的右表格列将填充为 NULL
同理,如果表格中某行的键在左表格中没有对应的匹配行,那么该行的左表格列将填充为 NULL。

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

总结

提示:这里对文章进行总结:

以上是一些常用的查询表格数据的SQL语句及其逻辑。熟练掌握这些语句和对应的使用场景,能够帮助你高效地进行数据库数据的检索和分析。

由于篇幅原因,连接查询放到下一篇结合例题来讲

下一篇,我结合例题,为大家讲解嵌套查询🏫

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值