日记大全

日记大全 > 句子大全

SELECT语句的基本介绍

句子大全 2023-01-11 07:37:01
相关推荐

SELECT 语句的作用是从数据库中返回信息一、SELECT基本语句的编写

1.SELECT 语句作用

列选择(投影操作) :能够使用 SELECT 语句的列选择功能选择表中的列,这些列是我们想要用查询返回 的。当我们查询时,可在选择查询的表中指定的列。

行选择(选择操作):能够使用 SELECT 语句的行选择功能选择表中的行,这些行是我们想要用查询返回 的。能够使用不同的标准限制所看见的行。

连接(多表操作):能够使用 SELECT 语句的连接功能来集合数据,这些数据虽然被存储在不同的表中, 但是我们可以通过连接查询到该数据。

2.SELECT 语句基本结构

SELECT *|{[DISTINCT] column|expression [alias],...} FROM table; SELECT 确定哪些列。FROM 确定哪张表。

例如,在command window窗口下输入命令:

select *from departments;用来查找表departments下所有的列;select departments_name from departments;用来查看表departments中的列departments_name;

基本 SELECT 语句: 在最简单的形式中,SELECT 语句必须包含下面的内容: 一个 SELECT 子句,指定被显示的列。

一个 FROM 子句,指定表,该表包含 SELECT 子句中的字段列表 。

在语法中:SELECT 是一个或多个字段的列表

* 选择所有的列

DISTINCT 关键字表示禁止重复

column|expression 选择指定的字段或表达式

alias 给所选择的列不同的标题

FROM table 指定包含列的表

3.选择操作(投影操作)

选择所有列:SELECT * FROM table;

选择指定的列: SELECT columnName,columnName FROM table;

4.SQL语句语法要求

SQL 语句对大小写不敏感

SQL 语句可以写成一行或多行

关键字不能简写或分开折行

子句通常放在不同的行

缩进用于增强可读性

二、SELECT语句的算术表达式

用算术运算符创建数字和日期数据的表达式。

注意:如果对日期进行计算,我们只能对 DATE 和 TIMESTAMP 数据类型使用加和减操作。

1.优先级:

乘法和除法比加法和减法的优先级高

相同优先级的运算符从左到右计算

圆括号用于强制优先计算,并且使语句更清晰

2.例子:

计算 employees 表中的员工全年薪水加 100 以后的薪水是多少?

select employee_id , first_name ,salary *12 +100 from employees;

计算 employees 表中的员工薪水加 100 以后的全年薪水是多少?

select employee_id,first_name ,(salary+100)*12 from employees;

三、定义空值

空值是一个未分配的、未知的,或不适用的值。

空值不是 0,也不是空格。

如果一行中的某个列缺少数据值,该值被置为空值。空值和 0 或者空格不相同。0 是 一个数字,而空格是一个字符。任何数据类型的列都可以包含空值。可是,某些约束,如, NOT NULL 和 PRIMARY KEY,防止在列中使用空。

包含空值的算术表达式计算结果为空。

例如:在利用佣金计算年薪时,部分没有佣金的员工的年薪返回为空值:

select last_name ,12*salary*commission_pct from employees;

四、定义列别名

列别名:

改变列标题的名字

紧跟在列名后面 – 在列名和别名之间可以有选项 AS 关键字

如果别名中包含有空格、或者特殊字符、或者大小写敏感,要求用双引号

在 SELECT 列表中的列名后面指定别名,列名和别名之间用空格分开。默认情况下, 别名标题用大写字母显示。如果别名中包含空格或者特殊字符(例如 # 或 &),或者 大小写敏感,将别名放在双引号 (“”) 中。

举例:

查询 employees 表中的 last_name,commission_pct 并将佣金列名改为 comm。

方式一:select last_name ,commission_pct as comm from employees; 将要改的名字用as连接。方式二:select last_name name ,commission_pct comm from employees;直接把名字跟在列名后面,用空格隔开;其中不同的列用逗号隔开。

计算所有员工的全年薪水,将列名修改”Annual Salary”。

方 式 一 :select last_name name ,12*salary as "Annual Salary" from employees; 方式二:select last_name name ,12*salary "Annual Salary" from employees;

五、连字运算符

连字运算符:

连接列或者字符串到其它的列

用两个竖线表示 (||)

构造一个字符表达式的合成列

我们能够用连字运算符 (||) ,进行列与列之间、列与算术表达式之间或者列与常数值 之间的连接,来创建一个字符表达式。连字运算符两边的列被合并成一个单个的输出列。

举例:

将 employees 表中的 LAST_NAME 和 JOB_ID 合并到一个单个的输出列中,并且指定 列别名 Employees。

select last_name || job_id as "Employee" from employees;

六、文字字符串

文字字符串是包含在 SELECT 列表中的一个字符串,一个数字或者一个日期

日期和字符的文字字符串值必须用单引号括起来

每个文字字符串在每行输出一次

文字字符串不是列名或别名。对每个返回行打印一次。任意格式文本的文字字符串能够 被包含在查询结果中,并且作为 SELECT 列表中的列处理。日期和字符文字 必须 放在单 但引号 (" ") 中;数字不需要。

举例:

显示所有雇员的名字和工作代码,使用 is a 链接查询结果。列标题用 Employee Details。

select last_name || " is a " || job_id as "Employee Details" from employees;

七、去除重复行

在 SELECT 语句中用 DISTINCT 关键字除去相同的行。为了在结果中除去相同的行, 在 SELECT 子句中的 SELECT 关键字后面紧跟 DISTINCT 关键字。

举例:

在 Employees 表中查询 department_id 并去除重复数据。

select distinct department_id from employees;

八、select语句练习题

1.在下面的语句中有 4 个编码错误,你能找出他们吗?SELECT employee_id, last_name sal x 12 ANNUAL SALARY FROM employees;

答案:1 在 employees 表中没有 sal 列,应该是 salary。

2 乘法运算符是“*”而不是“x”。

3 如果别名中包含空格,则需要在别名两侧添加双引号。

4 在 last_name 后少一个逗号。

2.显示 DEPARTMENTS 表的结构。选择表中的所有数据。

答案:显示表结构: desc departments;

查询所有数据:select * from departments;

3.创建一个查询,显示每个雇员的 last name, job code, hire date, 和 employee 号,employee 号显示在第一列, 给 HIRE_DATE 列指定一个别名 STARTDATE 。

答案:select employee_id ,last_name,job_id, hire_date startdate from employees;

4.创建一个查询从 EMPLOYEES 表中显示唯一的工作 代码。

答案:select distinct job_id from employees;

5.显示 last_name,用 job_ID 连接,用逗号和空格分开, 用 Employee and Title 作为列名。

答案:select last_name || ", " ||job_id “Employee and Title” from employees;

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新