提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
本文章为新手制作🙏,仅用于冲刺突击,大佬路过请指点
本文章为新手制作🙏,仅用于冲刺突击,大佬路过请指点
本文章为新手制作🙏,仅用于冲刺突击,大佬路过请指点
上一篇博客,我们介绍了如何建库和建表,以及对二者的相应操作(增、删、改)📚
本篇我们讲解上机重点,也是水平测试的重点——查询🔍
提示:以下是本篇文章正文内容,下面案例可供参考
一、约束条件是什么?
书接上回,我们介绍什么是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语句及其逻辑。熟练掌握这些语句和对应的使用场景,能够帮助你高效地进行数据库数据的检索和分析。
由于篇幅原因,连接查询放到下一篇结合例题来讲
下一篇,我结合例题,为大家讲解嵌套查询🏫