网络建设文章网站wordpress汉字验证码
news/
2025/9/23 1:22:26/
文章来源:
网络建设文章网站,wordpress汉字验证码,杭州建设交易网,会展相关网站建设情况文章目录 SQL概述SQL背景知识SQL分类 SQL语言的规则与规范SQL语言的规则SQL大小写规范注释命令规则#xff08;暂时了解#xff09;数据导入指令 基本的select语句select ...select ... from列的别名去除重复行空值参与运算着重号查询常数 显示表结构讲课代码课后练习 SQL概述… 文章目录 SQL概述SQL背景知识SQL分类 SQL语言的规则与规范SQL语言的规则SQL大小写规范注释命令规则暂时了解数据导入指令 基本的select语句select ...select ... from列的别名去除重复行空值参与运算着重号查询常数 显示表结构讲课代码课后练习 SQL概述
SQL背景知识
1946年世界上第一台电脑诞生如今借由这台电脑发展起来的互联网已经自成江湖。在这几十年里无数的技术、产业在这片江湖里沉浮有的方兴未艾有的已经几幕兴衰。但在这片浩荡的波动里有一门技术从未消失甚至“老当益壮”那就是SQL。45 年前也就是 1974 年IBM研究员发布了一篇揭开数据库技术的论文《SEQUEL一门结构化的英语查询语言》直到今天这门结构化的查询语言并没有太大的变化相比于其他语言SQL 的半衰期可以说是非常长 了。不论是前端工程师还是后端算法工程师都一定会和数据打交道都需要了解如何又快又准确地提取自己想要的数据。更别提数据分析师了他们的工作就是和数据打交道整理不同的报告以便指导业务决策。SQLStructured Query Language结构化查询语言是使用关系模型的数据库应用语言 与数据直接打交道 由IBM 上世纪70年代开发出来。后由美国国家标准局ANSI开始着手制定SQL标准先后有 SQL-86 SQL-89 ,SQL-92 SQL-99 等标准。SQL 有两个重要的标准分别是 SQL92 和 SQL99它们分别代表了 92 年和 99 年颁布的 SQL 标准我们今天使用的SQL 语言依然遵循这些标准。不同的数据库生产厂商都支持SQL语句但都有特有内容。自从 SQL 加入了 TIOBE 编程语言排行榜就一直保持在 Top 10。
SQL分类
SQL语言在功能上主要分为如下3大类 DDLData Definition Languages、数据定义语言这些语句定义了不同的数据库、表、视图、索引等数据库对象还可以用来创建、删除、修改数据库和数据表的结构。 主要的语句关键字包括 CREATE 、 DROP 、 ALTER 等。 DMLData Manipulation Language、数据操作语言用于添加、删除、更新和查询数据库记录并检查数据完整性。主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。SELECT是SQL语言的基础最为重要。 DCLData Control Language、数据控制语言用于定义数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT、ROLLBACK 、 SAVEPOINT 等。 因为查询语句使用的非常的频繁所以很多人把查询语句单拎出来一类DQL数据查询语言。还有单独将 COMMIT 、 ROLLBACK 取出来称为TCL Transaction Control Language事务控制语言。 SQL 语句的分类
DDL 数据定义语言DML 数据操作语言DQL 数据查询语言DCL 数据控制语言
SQL语言的规则与规范
SQL语言的规则 SQL 可以写在一行或者多行。为了提高可读性各子句分行写必要时使用缩进 每条命令以 ; 或 \g 或 \G 结束 关键字不能被缩写也不能分行 关于标点符号 1.必须保证所有的()、单引号、双引号是成对结束的 2.必须使用英文状态下的半角输入方式 3.字符串型和日期时间类型的数据可以使用单引号’ 表示 4.列的别名尽量使用双引号 而且不建议省略as
SQL大小写规范
MySQL 在 Windows 环境下是大小写不敏感的MySQL 在 Linux 环境下是大小写敏感的
1.数据库名、表名、表的别名、变量名是严格区分大小写的
2.关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。 推荐采用统一的书写规范 1.数据库名、表名、表别名、字段名、字段别名等都小写 2.SQL 关键字、函数名、绑定变量等都大写
注释
可以使用如下格式的注释结构
单行注释#注释文字(MySQL特有的方式)
单行注释-- 注释文字(--后面必须包含一个空格。)
多行注释/* 注释文字 */命令规则暂时了解
数据库、表名不得超过30个字符变量名限制为29个必须只能包含 A–Z, a–z, 0–9, _共63个字符数据库名、表名、字段名等对象名中间不要包含空格同一个MySQL软件中数据库不能同名同一个库中表不能重名同一个表中字段不能重名必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用请在SQL语句中使用着重号引起来保持字段名和类型的一致性在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数那在另一个表里可就别变成字符型了
举例
#以下两句是一样的不区分大小写
show databases;
SHOW DATABASES;
#创建表格
#create table student info(...); #表名错误因为表名有空格
create table student_info(...);
#其中order使用飘号因为order和系统关键字或系统函数名等预定义标识符重名了
CREATE TABLE order();
select id as 编号, name as 姓名 from t_stu; #起别名时as都可以省略
select id as 编号, name as 姓名 from t_stu; #如果字段别名中没有空格那么可以省略
select id as 编 号, name as 姓 名 from t_stu; #错误如果字段别名中有空格那么不能省略数据导入指令
在命令行客户端登录mysql使用source指令导入
mysql source d:\mysqldb.sql基本的select语句
select …
SELECT 1; #没有任何子句
SELECT 9/2; #没有任何子句select … from
语法
SELECT 标识选择哪些列
FROM 标识从哪个表中选择列的别名
重命名一个列便于计算紧跟列名也可以在列名和别名之间加入关键字AS别名使用双引号以便在别名中包含空格或特殊的字符并区分大小写。AS 可以省略建议别名简短见名知意
举例
SELECT last_name AS name, commission_pct comm
FROM employees;
/*部分输出
-------------------
| name | comm |
-------------------
| King | NULL |
| Kochhar | NULL |
| De Haan | NULL |
| Hunold | NULL |
| Ernst | NULL |
| Austin | NULL |
*/select * from employees;/*部分输出
--------------------------------------------------------------------------------------------------------------------------------------------------
| employee_id | first_name | last_name | email | phone_number | hire_date | job_id | salary | commission_pct | manager_id | department_id |
--------------------------------------------------------------------------------------------------------------------------------------------------
| 100 | Steven | King | SKING | 515.123.4567 | 1987-06-17 | AD_PRES | 24000.00 | NULL | NULL | 90 |
| 101 | Neena | Kochhar | NKOCHHAR | 515.123.4568 | 1989-09-21 | AD_VP | 17000.00 | NULL | 100 | 90 |
| 102 | Lex | De Haan | LDEHAAN | 515.123.4569 | 1993-01-13 | AD_VP | 17000.00 | NULL | 100 | 90 |
| 103 | Alexander | Hunold | AHUNOLD | 590.423.4567 | 1990-01-03 | IT_PROG | 9000.00 | NULL | 102 | 60 |
| 104 | Bruce | Ernst | BERNST | 590.423.4568 | 1991-05-21 | IT_PROG | 6000.00 | NULL | 103 | 60 |
| 105 | David | Austin | DAUSTIN | 590.423.4569 | 1997-06-25 | IT_
*/select employee_id,last_name,department_id from employees;/*部分输出
-----------------------------------------
| employee_id | last_name | department_id |
-----------------------------------------
| 100 | King | 90 |
| 101 | Kochhar | 90 |
| 102 | De Haan | 90 |
| 103 | Hunold | 60 |
| 104 | Ernst | 60 |
| 105 | Austin | 60 |
| 106 | Pataballa | 60 |
| 107 | Lorentz | 60 |
| 108 | Greenberg | 100 |
| 109 | Faviet | 100 |
*/
#列的别名
select employee_id id ,last_name l_nm ,department_id AS dept_id from employees;
/*部分输出
---------------------------
| id | l_nm | dept_id |
---------------------------
| 100 | King | 90 |
| 101 | Kochhar | 90 |
| 102 | De Haan | 90 |
| 103 | Hunold | 60 |
| 104 | Ernst | 60 |
| 105 | Austin | 60 |
*/
#列的别名
SELECT last_name Name, salary*12 Annual SalaryFROM employees;
/*部分输出
----------------------------
| Name | Annual Salary |
----------------------------
| King | 288000.00 |
| Kochhar | 204000.00 |
| De Haan | 204000.00 |
| Hunold | 108000.00 |
| Ernst | 72000.00 |
| Austin | 57600.00 |
| Pataballa | 57600.00 |
| Lorentz | 50400.00 |
*/去除重复行
默认情况下查询会返回全部行包括重复行。
在SELECT语句中使用关键字DISTINCT去除重复行group by也可以去重后续会讲到
SELECT DISTINCT department_id
FROM employees;
/*输出
---------------
| department_id |
---------------
| NULL |
| 10 |
| 20 |
| 30 |
| 40 |
| 50 |
| 60 |
| 70 |
| 80 |
| 90 |
| 100 |
| 110 |
---------------
*/针对于SELECT DISTINCT department_id,salary FROM employees; 这里有两点需要注意 DISTINCT 需要放到所有列名的前面如果写成 SELECT salary, DISTINCT department_id FROM employees 会报错。DISTINCT 其实是对后面所有列名的组合进行去重你能看到最后的结果是 74 条因为这 74 个部门id不同都有 salary 这个属性值。如果你想要看都有哪些不同的部门department_id只需要写 DISTINCT department_id 即可后面不需要再加其他的列名了。 空值参与运算
所有运算符或列值遇到null值运算的结果都为null
SELECT employee_id,salary,commission_pct,
12 * salary * (1 commission_pct) annual_sal
FROM employees;
/*部分输出
---------------------------------------------------
| employee_id | salary | commission_pct | annual_sal |
---------------------------------------------------
| 100 | 24000.00 | NULL | NULL |
| 101 | 17000.00 | NULL | NULL |
| 102 | 17000.00 | NULL | NULL |
| 103 | 9000.00 | NULL | NULL |
| 104 | 6000.00 | NULL | NULL |
| 105 | 4800.00 | NULL | NULL |
| 106 | 4800.00 | NULL | NULL |
| 107 | 4200.00 | NULL | NULL |
*/这里一定要注意在 MySQL 里面 空值不等于空字符串。一个空字符串的长度是 0而一个空值的长度是空。而且在 MySQL 里面空值是占用空间的。null不等同于0、’ ’ 以及’null’.
着重号
错误的:
mysql SELECT * FROM ORDER;
/*报错
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ORDER at line 1
*/正确的:
SELECT * FROM ORDER;
/*输出
----------------------
| order_id | order_name |
----------------------
| 1 | shkstart |
| 2 | tomcat |
| 3 | dubbo |
----------------------
*/
mysql SELECT * FROM order;
/*输出
----------------------
| order_id | order_name |
----------------------
| 1 | shkstart |
| 2 | tomcat |
| 3 | dubbo |
----------------------
*/结论: 要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同请在SQL语句中使用一对着重号引起来。
查询常数
SELECT 查询还可以对常数进行查询。对的就是在 SELECT 查询结果中增加一列固定的常数列。这列的取值是我们指定的而不是从数据表中动态取出的。 你可能会问为什么我们还要对常数进行查询呢 SQL 中的 SELECT 语法的确提供了这个功能一般来说我们只从一个表中查询数据通常不需要增加一个固定的常数列但如果我们想整合不同的数据源用常数列作为这个表的标记就需要查询常数。比如说我们想对 employees 数据表中的员工姓名进行查询同时增加一列字段 corporation 这个字段固定值为“尚硅谷”可以这样写
SELECT 尚硅谷 as corporation, last_name FROM employees;
显示表结构
使用DESCRIBE 或 DESC 命令表示表结构。
DESCRIBE employees;
或
DESC employees;mysql desc employees;
/*部分输出
--------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------------
| employee_id | int(6) | NO | PRI | 0 | |
| first_name | varchar(20) | YES | | NULL | |
| last_name | varchar(25) | NO | | NULL | |
| email | varchar(25) | NO | UNI | NULL | |
| phone_number | varchar(20) | YES | | NULL | |
| hire_date | date | NO | | NULL | |
| job_id | varchar(10) | NO | MUL | NULL | |
| salary | double(8,2) | YES | | NULL | |
| commission_pct | double(2,2) | YES | | NULL | |
| manager_id | int(6) | YES | MUL | NULL | |
| department_id | int(4) | YES | MUL | NULL | |
--------------------------------------------------------
11 rows in set (0.00 sec)
*/其中各个字段的含义分别解释如下 Field表示字段名称。 Type表示字段类型这里 barcode、goodsname 是文本型的price 是整数类型的。 Null表示该列是否可以存储NULL值。 Key表示该列是否已编制索引。PRI表示该列是表主键的一部分UNI表示该列是UNIQUE索引的一部分MUL表示在列中某个给定值允许出现多次。 Default表示该列是否有默认值如果有那么值是多少。 Extra表示可以获取的与给定列有关的附加信息例如AUTO_INCREMENT等。
讲课代码
#第03章_基本的SELECT语句#1. SQL的分类
/*
DDL:数据定义语言。CREATE \ ALTER \ DROP \ RENAME \ TRUNCATEDML:数据操作语言(增删改查)。INSERT \ DELETE \ UPDATE \ SELECT 重中之重DCL:数据控制语言。COMMIT \ ROLLBACK \ SAVEPOINT \ GRANT \ REVOKE学习技巧大处着眼、小处着手。*//*
2.1 SQL的规则 ----必须要遵守
- SQL 可以写在一行或者多行。为了提高可读性各子句分行写必要时使用缩进
- 每条命令以 ; 或 \g 或 \G 结束
- 关键字不能被缩写也不能分行
- 关于标点符号- 必须保证所有的()、单引号、双引号是成对结束的- 必须使用英文状态下的半角输入方式- 字符串型和日期时间类型的数据可以使用单引号 表示- 列的别名尽量使用双引号 而且不建议省略as2.2 SQL的规范 ----建议遵守
- MySQL 在 Windows 环境下是大小写不敏感的
- MySQL 在 Linux 环境下是大小写敏感的- 数据库名、表名、表的别名、变量名是严格区分大小写的- 关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。
- 推荐采用统一的书写规范- 数据库名、表名、表别名、字段名、字段别名等都小写- SQL 关键字、函数名、绑定变量等都大写3. MySQL的三种注释的方式*/USE dbtest2;-- 这是一个查询语句
SELECT * FROM emp;INSERT INTO emp
VALUES(1002,Tom); #字符串、日期时间类型的变量需要使用一对表示INSERT INTO emp
VALUES(1003,Jerry);# SELECT * FROM emp\GSHOW CREATE TABLE emp\g/*
4. 导入现有的数据表、表的数据。
方式1source 文件的全路径名
举例source d:\atguigudb.sql;方式2基于具体的图形化界面的工具可以导入数据
比如SQLyog中 选择 “工具” -- “执行sql脚本” -- 选中xxx.sql即可。
*/#5. 最基本的SELECT语句 SELECT 字段1,字段2,... FROM 表名
SELECT 1 1,3 * 2;SELECT 1 1,3 * 2
FROM DUAL; #dual伪表# *:表中的所有的字段或列
SELECT * FROM employees;SELECT employee_id,last_name,salary
FROM employees;#6. 列的别名
# as:全称alias(别名),可以省略
# 列的别名可以使用一对引起来不要使用。
SELECT employee_id emp_id,last_name AS lname,department_id 部门id,salary * 12 AS annual sal
FROM employees;# 7. 去除重复行
#查询员工表中一共有哪些部门id呢#错误的:没有去重的情况
SELECT department_id
FROM employees;
/*部分输出1.有null值一些员工没有部门2.部门有重复的
---------------
| department_id |
---------------
| NULL |
| 10 |
| 20 |
| 20 |
| 30 |
| 30 |
| 30 |
| 30 |
| 30 |
*/#正确的去重的情况
SELECT DISTINCT department_id
FROM employees;
/*全部输出部门没有重复的
---------------
| department_id |
---------------
| NULL |
| 10 |
| 20 |
| 30 |
| 40 |
| 50 |
| 60 |
| 70 |
| 80 |
| 90 |
| 100 |
| 110 |
---------------
*/#错误的报错
SELECT salary,DISTINCT department_id
FROM employees;#仅仅是没有报错但是没有实际意义。
#不符合实际需求
SELECT DISTINCT department_id,salary
FROM employees;
/*部分输出DISTINCT为部门、薪水都去重
-------------------------
| department_id | salary |
-------------------------
| 90 | 24000.00 |
| 90 | 17000.00 |
| 60 | 9000.00 |
| 60 | 6000.00 |
| 60 | 4800.00 |
| 60 | 4200.00 |
| 100 | 12000.00 |
*/#8. 空值参与运算
# 1. 空值null
# 2. null不等同于0null
SELECT * FROM employees;#3. 空值参与运算结果一定也为空。
SELECT employee_id,salary 月工资,salary * (1 commission_pct) * 12 年工资,commission_pct
FROM employees;
/*部分输出年工资出错变成null
---------------------------------------------------
| employee_id | 月工资 | 年工资 | commission_pct |
---------------------------------------------------
| 100 | 24000.00 | NULL | NULL |
| 101 | 17000.00 | NULL | NULL |
| 102 | 17000.00 | NULL | NULL |
| 103 | 9000.00 | NULL | NULL |
| 104 | 6000.00 | NULL | NULL |
| 105 | 4800.00 | NULL | NULL |
| 106 | 4800.00 | NULL | NULL |
| 107 | 4200.00 | NULL | NULL |
*/#实际问题的解决方案引入IFNULL
SELECT employee_id,salary 月工资,salary * (1 IFNULL(commission_pct,0)) * 12 年工资,commission_pct
FROM employees;
#IFNULL(commission_pct,0)--commission_pct字段为null时
#用0替换否则采用原数值
/*部分输出正确
---------------------------------------------------
| employee_id | 月工资 | 年工资 | commission_pct |
---------------------------------------------------
| 100 | 24000.00 | 288000.00 | NULL |
| 101 | 17000.00 | 204000.00 | NULL |
| 102 | 17000.00 | 204000.00 | NULL |
| 103 | 9000.00 | 108000.00 | NULL |
| 104 | 6000.00 | 72000.00 | NULL |
| 105 | 4800.00 | 57600.00 | NULL |
| 106 | 4800.00 | 57600.00 | NULL |
| 107 | 4200.00 | 50400.00 | NULL |
| 108 | 12000.00 | 144000.00 | NULL |
| 109 | 9000.00 | 108000.00 | NULL |
| 110 | 8200.00 | 98400.00 | NULL |
*/#9. 着重号
#ORDER是一个保留字
#如果查询的表名和关键字、保留字冲突就要使用着重号
SELECT * FROM order;#10. 查询常数
#--若查询内容都和一个常数有关(如都是尚硅谷的员工)
#且常数和表中属性无关就可以使用查询常数
SELECT 尚硅谷,123,employee_id,last_name
FROM employees;
/*部分输出
------------------------------------------
| 尚硅谷 | 123 | employee_id | last_name |
------------------------------------------
| 尚硅谷 | 123 | 100 | King |
| 尚硅谷 | 123 | 101 | Kochhar |
| 尚硅谷 | 123 | 102 | De Haan |
| 尚硅谷 | 123 | 103 | Hunold |
| 尚硅谷 | 123 | 104 | Ernst |
| 尚硅谷 | 123 | 105 | Austin |
| 尚硅谷 | 123 | 106 | Pataballa |
*/#11.显示表结构DESCRIBE employees; #显示了表中字段的详细信息
/*输出
--------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
--------------------------------------------------------
| employee_id | int(6) | NO | PRI | 0 | |
| first_name | varchar(20) | YES | | NULL | |
| last_name | varchar(25) | NO | | NULL | |
| email | varchar(25) | NO | UNI | NULL | |
| phone_number | varchar(20) | YES | | NULL | |
| hire_date | date | NO | | NULL | |
| job_id | varchar(10) | NO | MUL | NULL | |
| salary | double(8,2) | YES | | NULL | |
| commission_pct | double(2,2) | YES | | NULL | |
| manager_id | int(6) | YES | MUL | NULL | |
| department_id | int(4) | YES | MUL | NULL | |
--------------------------------------------------------
*/DESC employees;#效果和语句DESCRIBE employees;一样 DESC departments;
/*输出
---------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
---------------------------------------------------------
| department_id | int(4) | NO | PRI | 0 | |
| department_name | varchar(30) | NO | | NULL | |
| manager_id | int(6) | YES | MUL | NULL | |
| location_id | int(4) | YES | MUL | NULL | |
---------------------------------------------------------
*/#12.过滤数据#练习查询90号部门的员工信息
SELECT * FROM employees
#过滤条件,声明在FROM结构的后面
WHERE department_id 90;
/*输出
--------------------------------------------------------------------------------------------------------------------------------------
| employee_id | first_name | last_name | email | phone_number | hire_date | job_id | salary | commission_pct | manager_id | department_id |
--------------------------------------------------------------------------------------------------------------------------------------
| 100 | Steven | King | SKING | 515.123.4567 | 1987-06-17 | AD_PRES | 24000.00 | NULL | NULL | 90 |
| 101 | Neena | Kochhar | NKOCHHAR | 515.123.4568 | 1989-09-21 | AD_VP | 17000.00 | NULL | 100 | 90 |
| 102 | Lex | De Haan | LDEHAAN | 515.123.4569 | 1993-01-13 | AD_VP | 17000.00 | NULL | 100 | 90 |
-------------------------------------------------------------------------------------
*/#练习查询last_name为King的员工信息
SELECT *
FROM EMPLOYEES
WHERE LAST_NAME King;
/*输出
-----------------------------------------------------------------------------------------------------------------------------------------
| employee_id | first_name | last_name | email | phone_number | hire_date | job_id | salary | commission_pct | manager_id | department_id |
-----------------------------------------------------------------------------------------------------------------------------------------
| 100 | Steven | King | SKING | 515.123.4567 | 1987-06-17 | AD_PRES | 24000.00 | NULL | NULL | 90 |
| 156 | Janette | King | JKING | 011.44.1345.429268 | 1996-01-30 | SA_REP | 10000.00 | 0.35 | 146 | 80 |
----------------------------------------------
*/课后练习
#第03章_基本的SELECT语句的课后练习# 1.查询员工12个月的工资总和并起别名为ANNUAL SALARY
#理解1计算12月的基本工资
SELECT employee_id,last_name,salary * 12 ANNUAL SALARY
FROM employees;
/*部分输出
-----------------------------------------
| employee_id | last_name | ANNUAL SALARY |
-----------------------------------------
| 100 | King | 288000.00 |
| 101 | Kochhar | 204000.00 |
| 102 | De Haan | 204000.00 |
| 103 | Hunold | 108000.00 |
| 104 | Ernst | 72000.00 |
| 105 | Austin | 57600.00 |
| 106 | Pataballa | 57600.00 |
*/#理解2计算12月的基本工资和奖金
SELECT employee_id,last_name,salary * 12 * (1 IFNULL(commission_pct,0)) ANNUAL SALARY
FROM employees;
/*部分输出
-----------------------------------------
| employee_id | last_name | ANNUAL SALARY |
-----------------------------------------
| 100 | King | 288000.00 |
| 101 | Kochhar | 204000.00 |
| 102 | De Haan | 204000.00 |
| 103 | Hunold | 108000.00 |
| 104 | Ernst | 72000.00 |
| 105 | Austin | 57600.00 |
| 106 | Pataballa | 57600.00 |
| 107 | Lorentz | 50400.00 |
| 108 | Greenberg | 144000.00 |*/# 2.查询employees表中去除重复的job_id以后的数据
SELECT DISTINCT job_id
FROM employees;
/*部分输出
------------
| job_id |
------------
| AC_ACCOUNT |
| AC_MGR |
| AD_ASST |
| AD_PRES |
| AD_VP |
| FI_ACCOUNT |
| FI_MGR
*/# 3.查询工资大于12000的员工姓名和工资
SELECT last_name,salary
FROM employees
WHERE salary 12000;
/*输出
---------------------
| last_name | salary |
---------------------
| King | 24000.00 |
| Kochhar | 17000.00 |
| De Haan | 17000.00 |
| Russell | 14000.00 |
| Partners | 13500.00 |
| Hartstein | 13000.00 |
---------------------
*/# 4.查询员工号为176的员工的姓名和部门号
SELECT last_name,department_id
FROM employees
WHERE employee_id 176;
/*输出
--------------------------
| last_name | department_id |
--------------------------
| Taylor | 80 |
--------------------------
*/# 5.显示表 departments 的结构并查询其中的全部数据
DESCRIBE departments;
/*输出
---------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
---------------------------------------------------------
| department_id | int(4) | NO | PRI | 0 | |
| department_name | varchar(30) | NO | | NULL | |
| manager_id | int(6) | YES | MUL | NULL | |
| location_id | int(4) | YES | MUL | NULL | |
---------------------------------------------------------
*/SELECT * FROM departments;
/*部分输出
--------------------------------------------------------------
| department_id | department_name | manager_id | location_id |
--------------------------------------------------------------
| 10 | Administration | 200 | 1700 |
| 20 | Marketing | 201 | 1800 |
| 30 | Purchasing | 114 | 1700 |
| 40 | Human Resources | 203 | 2400 |
| 50 | Shipping | 121 | 1500 |
*/
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910986.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!