常见的sql查询语句有哪些

1. SELECT查询语句

SELECT是SQL语句的核心,用于从数据库中检索数据。其中,该语句最基本的形式是:

SELECT column_name

FROM table_name;

该语句的意思是从“table_name”表中获取“column_name”列的所有数据。

此外,还可以选择检索多个列,语法格式如下:

SELECT column_name1, column_name2

FROM table_name;

还可以使用SELECT语句使用通配符(*),选择表中的所有列:

SELECT *

FROM table_name;

使用WHERE子句过滤结果:

SELECT column_name(s)

FROM table_name

WHERE condition;

1.1 WHERE子句

该子句用于添加筛选条件,只包含“True”或“False”的条件式。WHERE子句可以在SELECT、UPDATE或DELETE语句中使用。

WHERE子句的基本语法如下:

SELECT column_name(s)

FROM table_name

WHERE condition;

WHERE语句操作符:

=:等于

<>:不等于

<:小于

<=:小于等于

>:大于

>=:大于等于

BETWEEN:在某个范围内

LIKE:搜索某种模式

IN:指定一组值

例如,筛选表中“age”列的数值大于等于18的数据,可以使用以下语句:

SELECT *

FROM Persons

WHERE age >= 18;

筛选表中“FirstName”列以字母“A”开头的数据,可以使用以下语句:

SELECT *

FROM Persons

WHERE FirstName LIKE "A%";

该语句中,”%"通配符代表任何字符。

1.2 ORDER BY子句

ORDER BY子句用于对结果进行排序,默认情况下,它按升序对结果进行排序。ORDER BY子句可以用于SELECT、UPDATE和DELETE语句。

在SELECT语句中,ORDER BY子句的语法如下:

SELECT column_name(s)

FROM table_name

ORDER BY column_name(s) ASC|DESC;

其中,“ASC”代表升序排列,“DESC”代表降序排列。例如,按照年纪从小到大排序:

SELECT *

FROM Persons

ORDER BY age ASC;

2. INSERT INTO语句

使用INSERT INTO语句将数据添加到表中。

语法格式如下:

INSERT INTO table_name (column1, column2, column3,...)

VALUES (value1, value2, value3,...);

其中,列名可以省略,这种情况下,将为表中的所有列添加数据。

例如,向Persons表添加一行记录:

INSERT INTO Persons (FirstName, LastName, Age)

VALUES ('Peter', 'Parker', 18);

3. UPDATE语句

使用UPDATE语句修改表中的数据。它可以更新一行或多行数据。

基本语法如下:

UPDATE table_name

SET column1 = value1, column2 = value2, ...

WHERE condition;

例如,将“Persons”表中张三的年纪改为28岁:

UPDATE Persons

SET Age = 28

WHERE LastName = 'Zhang' AND FirstName = 'San';

4. DELETE语句

DELETE语句用于删除表中的行。

基本语法如下:

DELETE FROM table_name

WHERE condition;

例如,删除年纪小于18岁的人:

DELETE FROM Persons

WHERE Age < 18;

5. 聚合函数

5.1 AVG函数

AVG函数计算指定列的平均值。

基本语法如下:

SELECT AVG(column_name)

FROM table_name

WHERE condition;

5.2 COUNT函数

COUNT函数计算指定列的行数。

基本语法如下:

SELECT COUNT(column_name)

FROM table_name

WHERE condition;

5.3 MAX函数

MAX函数计算指定列的最大值。

基本语法如下:

SELECT MAX(column_name)

FROM table_name

WHERE condition;

5.4 MIN函数

MIN函数计算指定列的最小值。

基本语法如下:

SELECT MIN(column_name)

FROM table_name

WHERE condition;

5.5 SUM函数

SUM函数计算指定列的总和。

基本语法如下:

SELECT SUM(column_name)

FROM table_name

WHERE condition;

6. JOIN语句

使用JOIN语句根据两个或多个表中的列之间的关系返回行。

基本语法如下:

SELECT column_name(s)

FROM table1

JOIN table2

ON table1.column_name = table2.column_name;

在这个例子中,我们根据“table1”表中的“column_name”列中的值和“table2”表中的“column_name”列中的值来连接两个表。

6.1 LEFT JOIN语句

LEFT JOIN语句返回左表中的所有行和右表中的匹配行。如果没有匹配行,NULL值将用于右侧的所有列。

基本语法如下:

SELECT column_name(s)

FROM table1

LEFT JOIN table2

ON table1.column_name = table2.column_name;

6.2 RIGHT JOIN语句

RIGHT JOIN语句返回右表中的所有行和左表中的匹配行。如果没有匹配行,NULL值将用于左侧的所有列。

基本语法如下:

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name = table2.column_name;

6.3 INNER JOIN语句

INNER JOIN语句仅返回两个表中都存在的匹配行。

基本语法如下:

SELECT column_name(s)

FROM table1

INNER JOIN table2

ON table1.column_name = table2.column_name;

7. UNION操作符

UNION操作符用于将两个或多个SELECT语句的结果集合并为一个结果集。

基本语法如下:

SELECT column_name(s) FROM table1

UNION

SELECT column_name(s) FROM table2;

注意,UNION操作符默认情况下将结果集中的重复行合并成一个单独的行,如果您希望结果集包含重复行,则可以使用UNION ALL。

8. CREATE TABLE语句

使用CREATE TABLE语句创建新表。

基本语法如下:

CREATE TABLE table_name

(

column1 datatype,

column2 datatype,

column3 datatype,

.....

);

例如,创建一个名称为“Persons”的表:

CREATE TABLE Persons

(

PersonID int,

LastName varchar(255),

FirstName varchar(255),

Address varchar(255),

City varchar(255)

);

9. ALTER TABLE语句

使用ALTER TABLE语句修改表结构。

基本语法如下:

ALTER TABLE table_name

ADD column_name datatype;

例如,向“Persons”表中添加一个“email”列:

ALTER TABLE Persons

ADD Email varchar(255);

10. DROP TABLE语句

使用DROP TABLE语句删除表。

基本语法如下:

DROP TABLE table_name;

例如,删除“Persons”表:

DROP TABLE Persons;

总结

SQL是一种强大的语言,可以对关系型数据库执行各种任务,例如检索、插入、更新、删除和聚合数据。掌握SQL的基本语法是开发和维护数据库的重要前提之一。在表格查询语句、INSERT INTO、UPDATE等方面,SQL都有明确的语法模式,熟练掌握这些操作可以减少代码出错的机率,提高开发效率。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签