mysql查询语句菜鸟教程,mysql %查询

1 - 基本SELECT 语句*|{[DISTINCT

] 列|表达式[别名],}表;

SELECT 标识选择了哪些列。 FROM 标识要选择的表。选择所有列

部门;

选择特定列

部门ID、位置ID

消息

SQL语言不区分大小写。 SQL 可以写成一行或多行。关键字不能省略或拆分为多行。

每个子句通常写在单独的行上。使用缩进使语句更易于阅读。列别名列别名:

重命名列。易于计算。您还可以在列名之后以及列名和别名使用的别名之间添加关键字“AS”。

双引号

别名中包含空格或特殊字符并区分大小写。 aliasSELECT last_name 使用AS 名称,commission_pct 从员工处进行通信。

细绳

该字符串可以是SELECT 列表中的任何字母、数字或日期。日期和字符只能在单引号内使用。对于返回的每一行,该字符串都会打印一次。使用DESCRIBE命令显示表结构,显示表结构DESC[RIBE]。

表名

描述一下你的员工

2 - 过滤和排序数据过滤

使用WHERE 子句排除不满足条件的行。 SELECT *|{[DISTINCT] 列|表达式[别名],} FROM 表[WHERE 条件];

WHERE 子句位于FROM 子句之后。

过滤查询中的行

员工

返回在部门90 工作的所有员工的信息。

WHERE 子句

SELECT 员工ID、姓氏、工作ID、部门ID FROM 员工WHERE 部门ID=90;

比较运算

SELECT 姓氏、工资FROM 员工WHERE 工资=3000;

其他比较操作

使用BETWEENBETWEEN操作显示某个范围内的值

选择员工的姓氏和工资。工资2500到3500不等。

下限值上限值

使用IN操作来显示列表中的值。

SELECT 员工ID、姓氏、工资、经理ID FROM 员工WHERE 经理ID IN (100, 101, 201);

喜欢

使用LIKE 操作选择相似的值。选择标准可以包含零个或多个字符(任意数量)。 _代表一个字符。

SELECT FROM WHEREfirst_name 员工姓名LIKE \'S%\';

喜欢

“%”和“-”可以一起使用。从员工中选择姓氏,其中姓氏类似于“_o%”;

NULL 使用IS (NOT) NULL 来确定空值。

SELECT 姓氏、经理ID FROM 员工,其中经理ID 为NULL;

逻辑运算

操作员

意义

析取集

或者

逻辑或

没有

逻辑上“不”

AND 要求关联关系为真。

选择员工ID、姓氏、工作ID、员工薪资

OROR 要求or 关系为真。

SELECT 员工ID、姓氏、工作ID、工资FROM 员工WHERE 工资=10000OR 工作ID LIKE \'%MAN%\';

没有

SELECT 姓氏、工作ID FROM 员工WHERE 工作IDNOT IN (\'IT_PROG\', \'ST_CLERK\', \'SA_REP\');

ORDER BY 子句

带ORDER BY 子句的Sort_ASC

(升序): 升序

_DESC

(降序): 降序

SELECT 语句中的ORDER BY 子句

结尾。

按聘用日期订购

DESC 降序排序

按别名对编年史进行排序

按多列排序

ORDER BY 根据列表的顺序排序。 SELECT 姓氏、部门ID、员工薪资ORDER BY 部门ID、薪资DESC;

您可以使用不在SELECT 列表中的列进行排序。 3 — 分组函数什么是分组函数?

分组函数对数据集进行操作并返回数据集的值。

员工

群组功能的类型

AVG()COUNT()MAX()MIN()SUM() 组函数语法

SELECT [列,] 分组函数(列), FROM 表[WHERE 条件] [GROUP BY 列] [ORDER BY 列];

AVG(平均)和SUM(求和)函数

也可以处理数值数据

使用AVG 和SUM 函数。

从员工WHERE job_id LIKE \'%REP%\' 中选择AVG(薪水)、MAX(薪水)、MIN(薪水)、SUM(薪水);

最小值和最大值函数

可与任何数据类型一起使用

使用MIN 和MAX 函数分析数据。

从员工中选择MIN(雇用日期)和MAX(雇用日期)。

计数函数

COUNT(*) 返回表中的记录总数,适用于任何数据类型。

从员工中选择COUNT(*),其中部门ID=50;

计数函数

COUNT(expr) 返回expr 不为空

记录总数。

从员工中选择COUNT(commission_pct),其中部门ID=50;

打包数据员工

分组数据: GROUP BY 子句语法

您可以使用GROUP BY 子句将表中的数据分为多个组。

SELECT 列、分组函数(列) FROM 表[WHERE 条件] [GROUP BY 组表达式] [ORDER BY 列];

请澄清:WHERE 必须放在FROM 之后

GROUP BY 子句

SELECT 列表中未包含在组函数中的所有列都必须包含在GROUP BY 子句中。

SELECT 部门ID、AVG(工资) FROM 员工GROUP BY 部门ID;

GROUP BY 子句

GROUP BY 子句中包含的列不需要包含在SELECT 列表中。

按部门ID 从员工组中选择平均(工资);

按多列分组

在GROUP BY 子句中包含多个列

SELECT Department ID 部门ID、职位ID、SUM(Salary) FROM Employee GROUP BY 部门ID、职位ID;

未经授权使用群组功能•

组函数不能在WHERE 子句中使用。

您可以在HAVING 子句中使用组函数。

SELECT 部门ID,AVG(薪水) FROM 员工WHERE AVG(薪水)8000 GROUP BY 部门ID;

WHERE AVG(salary) 8000 * 第3: 行出错ORA-00934: 此处不允许使用组函数

无法在WHERE 子句中使用组函数过滤组EMPLOYEES

过滤分组:HAVING 子句使用HAVING 过滤分组:

行现在已分组。使用群组功能。显示满足HAVING 子句条件的组。 SELECT FROM [WHERE [GROUP BY [HAVING [ORDER BY列, group_functiontable 条件]group_by_表达式] group_condition] 列];

有短语

从员工组中选择部门ID,MAX(薪水),按部门ID HAVING MAX(薪水)10000;

4——多表查询美女表男生表

如果我想查出女神的名字和对应男神的名字怎么办?多表连接语法:Select name, boyName from Beauty, Boys。

美容桌男生桌

笛卡尔集错误情况:select count(*) from Beauty;假设从Boys中选择了12行输出。 最终结果将是12*4=48 行。

笛卡尔集

在以下条件下,笛卡尔集产生:

省略连接条件。加入条件无效。您可以将valid 添加到WHERE 以避免笛卡尔集。

连接条件。 MySQL 连接使用联接来查询多个表中的数据。

SELECT 表1.列、表2.列FROM 表1、表2 WHERE 表1.列1=表2.列2;

将连接条件写入WHERE 子句中。如果表中存在相同的列,请在列名前添加表名前缀。

美容桌男童桌多桌连体

等值连接

SELECT Beauty.id,NAME,boyname FROM Beauty,boys WHERE Beauty.`boyfriend_id`=boys.i

区分重复的列名

使用表名前缀来区分多个表中的相同列。

不同表中具有相同列名的列可以使用表别名

辨析。如果使用表别名,则必须在select 语句中使用表别名而不是表名。表别名最多支持32 个字符,但表别名越少越好。

别名可用于简化查询。使用表名前缀可以提高执行效率。 SELECT bt.id,NAME,boyname FROM Beauty bt,boys b WHERE bt.`boyfriend_id`=b.id;

连接多个表

部门

地方

连接中

n

桌子,

至少

需要n-1个连接条件。 示例:连接

三个表至少需要两个连接条件。

练习:查询员工的姓氏、部门名称和城市

SQL99:使用ON 子句创建连接

自然连接使用与连接条件同名的列。您可以使用ON 子句指定其他连接条件。

该连接条件与其他条件是分开的。使用ON 子句使语句更易于阅读。键连接

类别: 内连接[内] 外连接左连接外连接左[外] 右连接外连接右[外] 连接onON 子句

SELECT bt.id,NAME,boyname FROM Beauty bt Inner join Boys b bt.`boyfriend_id`=b.id;

连接多个表

部门

地方

连接中

n

桌子,

至少

需要n-1个连接条件。 示例:连接

三个表至少需要两个连接条件。

练习:查询员工的姓氏、部门名称和城市

使用ON 子句创建多表联接

SELECT 员工ID、城市、部门名称FROM 员工e 加入部门d ON d.Department_id=e.Department_id 加入地点l ON d.location_id=l.location_id;

请加入请加入

外连接

美容桌男生桌

连接概览

本文来自网络,不代表服装搭配_服装搭配的技巧_衣服的穿配法_服装搭配网立场,转载请注明出处:https://www.fzdapei.com/334302.html
上一篇
下一篇

为您推荐

返回顶部