常用sql的语句

达梦数据库查询与操作

一、简单查询                                                                                                                                      1.SQL数据查询主要由SELECT语句完成,SELECT语句是SQL的核心。单表查询就是利用SELECT语句仅从一个表/视图中查询数据,其语法如下:                                                        
SELECT<选择列表>
FROM[<模式名>]<基表名>|<视图名>[<相关名>]
[]
[]
[]
[]

[ORDER BY 子句];                                                                                                                           

2.现在需要进行一些简单的查询操作,比如:性别(Gender)年龄(Age)所在班级(Class)

假设有一个学生名单表格,包括以下字段:学生编号(ID)姓名(Name)                               

                                       

比如:

(1)查询所有学生的姓名和年龄:

SELECT Name, Age FROM students;
 

(2)查询所有男生的编号、姓名和所在班级:

SELECT ID, Name, Class FROM students WHERE Gender = '男';
 

(3)查询所有年龄大于等于18岁的学生的编号、姓名、性别和年龄:

SELECT ID, Name, Gender, Age FROM students WHERE Age >= 18;
 

(4)查询所有姓“张”的女生的编号、姓名和年龄:

SELECT ID, Name, Age FROM students WHERE Name LIKE '张%' AND Gender = '女';
 

(5)查询所有年龄最大的学生的姓名和年龄:

SELECT Name, Age FROM students ORDER BY Age DESC LIMIT 1;
 

                                                                                                                                                 

二、条件查询                                                                                                                                    1. 常用条件运算符(条件)                                                                                                             条件查询需要用到 where 语句,where 必须放到 from 语句表的后面 ,运算符(条件)放在 where 后。                                                                                        

运算符 

   说明
=  等于
<>或!=     不等于
<     小于
<=  小于等于
>   大于
>=  大于等于

between …and ….    

位于两者之间,,等同于 >= and <=
is null   为 null(is not null 不为空)
and   并且
or   或者
in     包含,相当于多个 or(not in 不在这个范围中)
not   not 可以取非,主要用在 is 或 in 中
like     like 称为模糊查询,支持%或下划线匹配%匹配任意个字符 下划线,一个下划线只匹配一个字符

  2.列子:                                                                                                                                                              

-- 1、= 等于
SELECT * FROM `user` WHERE age =23
 
-- 2、<>或!= 不等于
SELECT * FROM `user` WHERE age <> 23
-- 3、< 小于
SELECT *FROM `user` WHERE age<30
-- 4、<= 小于等于
SELECT *FROM `user` WHERE age<=30
-- 5、> 大于
SELECT *FROM `user` WHERE age>30
-- 6、>= 大于等于
SELECT *FROM `user` WHERE age>=30
 
-- 7、between …and …. 两个值之间,等同于 >= and <=
SELECT *FROM `user` WHERE age between 30 and 40
 
-- 8、is null 为 null(is not null 不为空)
SELECT *FROM `user` WHERE age is null
SELECT *FROM `user` WHERE age is not null
-- 9、and 并且
SELECT *FROM `user` WHERE classid =2 and age <40
 
-- 10、or 或者
SELECT *FROM `user` WHERE age =30 or age =40
 
-- 11、in 包含,相当于多个 or(not in 不在这个范围中)
SELECT *FROM `user` WHERE age in (30,40,43,45)
 
-- 12、not not 可以取非,主要用在 is 或 in 中
SELECT *FROM `user` WHERE age not in (30,40,43,45)
-- 13、like like 称为模糊查询,支持%或下划线匹配,%匹配任意个字符,下划线,一个下划线只匹配一个字符
-- 模糊查询意指定字符开始
SELECT *FROM `user` WHERE `name` like '小%'
-- 模糊查询意指定字符结束
SELECT *FROM `user` WHERE `name` like '%小'
-- 模糊查询包含指定字符
SELECT *FROM `user` WHERE 

三、列运算查询

1.对于数值型的列,SQL标准提供了几种基本的算术运算符来查询数据。常用的有+(加)、- (减)、* (乘)、1 (除)。

2.列运算查询是一种使用SQL语言中的SELECT语句进行的计算,在查询中使用数学运算符或函数来对列进行计算。常见的列运算包括加、减、乘、除、平均值、总和、最大值、最小值等。

以下是一些常见的列运算查询示例:

(1).计算订单的总金额和平均金额

SELECT SUM(amount) AS total_amount, AVG(amount) AS average_amount
FROM orders;

(2).将订单金额转换为美元

SELECT id, amount / 6.5 AS usd_amount
FROM orders;

(3).获取订单日期和订单金额的差异

SELECT order_date, amount - (SELECT AVG(amount) FROM orders) AS difference
FROM orders;

(4).计算不同产品类型的销售额

SELECT product_type, SUM(amount) AS total_sales
FROM orders
GROUP BY product_type;

(5).计算每个客户的平均订单金额

SELECT customer_id, AVG(amount) AS average_order_amount
FROM orders
GROUP BY customer_id;

其他常见的列运算包括乘法、指数运算等,可以根据具体需求灵活运用。

四、函数查询

为了进一步方便用户的使用,增强查询能力,不同的数据库会提供多种内部函数(又称为库函数)。所谓函数查询,就是在SELECT查询过程中,使用函数检索到的列和条件中涉及的数据集合对其进行操作。达梦数据库的库函数又可以划分为两大类,分别是多行函数和单行函数。
1.多行函数

多行函数最直观的解释是:多行函数输入多行,由于它处理的对象多属于集合,所以也有人称之为集合函数。它可以出现在SELECT列表、ORDER BY子句和HAVING子句中,通常可以用DISINCT过滤掉重复的记录,默认或用ALL来表示取全部记录。常用的多行函数如表所示。
(1).求最大值、最小值函数
格式: MAX([DISTINCT|ALL] column); MIN([DISTINCT|ALL] column)。

函数名 描述
DISTINCT(列名称) 在指定的列上查询表中不同的值
COUNT(*) 统计记录个数
COUNT(列名称) 统计一列中值的个数
SUM(列名称) 计算一列值的总和(此列必须是数值型)
AVG(列名称) 计算一列值的平均值 (此列必须是数值型)
MAX(列名称) 求一列值中的最大值
MN(列名称) 求一列值中的最小值

功能:返回指定列中的最大值或最小值,通常用在WHERE 子句中,DISTINCT表示除去重复记录,ALL 代表所有记录,默认就是所有记录。

(2).求记录数量函数
格式:COUNT(f*ITDISTINCTIALL]column)。
功能:计算记录或某列的个数,函数必须指定列名称或用“*”,其他参数同上。
(3).求和函数
格式:SUM([DISTINCT|ALL]column)
功能:计算指定列的数值和,如果不分组,则把整个表当作一个组来计算。
(4).求平均值函数
格式:AVG([DISTINCT|ALL]column)。功能:计算指定列的平均值,即某组的平均值,如果不分组,则把整个表当作一个组来计算,DISTINCT或ALL参数对这个函数的影响明显。

1.单行函数                                                                                                                                                                                              单行函数,顾名思义就是指该函数输入一行、输出一行。单行函数通常分为5种类型字符函数、数值型函数、日期型函数、转换函数和通用函数。
单行函数的主要特征为:
(1)单行函数对单行操作;
(2)每行返回一个结果;
(3)返回值有可能与原参数数据类型不一致 (转换函数):
(4)单行函数可以写在SELECT子句、WHERE子句、ORDERBY子句中;                                        (5)有些函数没有参数,有些函数包括一个或多个参数;
(6)函数可以嵌套。                                                                                                                               需要注意的是,在使用函数查询时,应该注意函数的性能和适用范围。有些函数只适合对少量数据进行操作,而对于大量数据的处理可能会带来性能问题。另外,一些函数在不同数据库系统中的实现方式可能会有差异,需要根据具体情况进行选择。

SQL中有许多单行函数,常用的包括:

数值函数:ABS、CEIL、FLOOR、ROUND、TRUNC等;

字符串函数:LOWER、UPPER、SUBSTR、CONCAT等;

日期函数:SYSDATE、MONTHS_BETWEEN、ADD_MONTHS、EXTRACT等;

转换函数:TO_CHAR、TO_NUMBER、TO_DATE等;

聚合函数:AVG、SUM、MAX、MIN、COUNT等。

这些函数可以对单个数据行进行操作,返回一个单一的结果。

5、别名查询

在 SQL 中,别名查询是通过给表、列或者子查询起一个别名来简化查询语句的语法。它允许我们使用一个简短的名字来代替长的表名或列名,并且可以让查询的结果集更加易读和易懂。

举个例子:

假设我们有一个包含学生信息的表格,其中包括姓名、学号、出生日期等字段信息。如果我们想要查询某个班级所有学生的姓名和出生日期,可以使用以下 SQL 语句:

SELECT name, birthdate
FROM students
WHERE classname = 'class1';

但是如果表格名称比较长,例如 students_information,查询语句就会比较冗长,难以阅读和理解。这时候,我们可以使用别名来简化查询语句:

SELECT s.name, s.birthdate
FROM students_information s
WHERE s.classname = 'class1';

在这个查询语句中,我们给表格 students_information 起了一个别名 s,将原本的表格名称简化成了一个字母,使得查询语句更加简洁易读。

总结:

SQL是一种结构化查询语言,是管理关系型数据库的标准语言。学习SQL可以帮助我们更好地管理和维护数据库,并进行数据分析和查询。

以下是学习SQL的一些总结:

  1. 掌握基本语法:学习SQL的第一步是了解基本语法,包括数据类型、数据表、查询语句、排序、过滤、聚合和分组等。

  2. 熟悉SQL函数:SQL提供了许多内置函数,如聚合函数、字符串函数、日期函数和数学函数等。掌握这些函数可以更方便地进行数据分析和处理。

  3. 熟悉连接操作:连接操作是SQL中非常重要的一部分,可以将多个数据表连接起来,方便进行数据查询和分析。

  4. 熟悉子查询:子查询是一种嵌套的查询语句,可以在一个查询语句中嵌套另一个查询语句。掌握使用子查询可以更好地进行复杂的数据分析。

  5. 实际练习:SQL学习的最重要的一点就是实践。通过实际操作,可以更好地理解SQL的语法,更快地掌握SQL技能。

综上所述,学习SQL需要掌握基本语法和函数、连接操作、子查询等技能,并进行实际练习和应用,希望对大家有所帮助。

你可能感兴趣的:(sql,数据库)