首页 > TAG信息列表 > employees
【MySQL】什么是子查询
目录1.谁的工资比Abel的高?2.子查询的分类 1.谁的工资比Abel的高? 方式一:先查询Abel的工资,再查比Abel工资高的员工 SELECT salary FROM employees WHERE last_name = 'Abel'; SELECT last_name,salary FROM employees WHERE salary > 11000; 方式二:自连接 SELECT e2.last_name,e2SQL Server遍历表的几种方法
在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易懂,但是它不符合面向集合操作的原则,而且性能也比面向集合低。当然,从面向集合操作的角度出发,也有两种方法可以进行遍历表的操作,总结起来,遍历表有下面几种方法。【MySQL】多表查询:自连接VS非自连接
区别:多表查询时是否和自身连接(自恋) 1. 自连接 查询员工 last_name 和他的领导名称 SELECT CONCAT(worker.last_name,'的领导是',manager.last_name) FROM employees worker,employees manager WHERE worker.manager_id=manager.employee_id; 练习:查询出 last_name 为 'Chen' 的存储过程和函数(自定义函数)
储存过程和函数: 存储过程: 分类:1. 存储过程的参数类型可以是IN、OUT和INOUT。根据这点分类如下: 2. ①没有参数(无参数无返回) ②仅仅带 IN 类型(有参数无返回)MySQL扩展
1、行转列 源数据: 目标数据: 数据准备 -- 建表插入数据 drop table if exists time_temp; create table if not exists time_temp( `year_col` int not null comment '年份', `month_col` int not null comment '月份', `day_col` int not null comment '天数' )emysql 子查询练习题
#1.查询和Zlotkey相同部门的员工姓名和工资select last_name,salaryfrom employeeswhere department_id = ( select department_id from employees where last_name = 'Zlotkey' ); #2.查MySQL中的比较条件、其他比较条件
比较条件: 符号!=也能够表示不等于条件; 示例一:查询employees表中员工薪水大于等于3000的员工的姓名与薪水。 select last_name,salary from employees where salary>=3000; 示例二:查询employees表中员工薪水不等于5000的员工的姓名与薪水。 select last_name,salary fr9. 子查询
9.1 子查询使用场景 # 查询比Abel工资高的人 # 第一步先查询Abel的工资 SELECT salary FROM employees WHERE last_name = "Abel"; # 结果是11000 # 用第一步的查询结果查询工资比Abel高的人 SELECT last_name, salary FROM employees WHERE salary > 11000; 怎么用一句语句1965. 丢失信息的雇员
链接:https://leetcode.cn/problems/employees-with-missing-information/ 我的代码 select employee_id from Employees where employee_id not in (select employee_id from Salaries) union select employee_id from Salaries where employee_id not in (select employee_id fro8. 聚合函数
8.1 聚合函数介绍 聚合函数作用域一组数据,并且对一组数据返回一个值。 函数 用法 AVG() 平均值 SUM() 和 MAX() 最大值 MIN() 最小值 COUNT() 计数 聚合函数传参需要是一个表中的字段名 聚合函数无法嵌套使用 # 例如这样是不行的 AVG(SUM(字段名)) # SUM(字【MySQL】排序与分页
1.排序 1.1 升序和降序 ASC:升序(默认) DESC:降序 ORDER BY字句在SELECT语句结尾 SELECT employee_id,first_name,salary FROM employees ORDER BY salary; SELECT employee_id,first_name,salary FROM employees ORDER BY salary desc; 1.2 单列排序 只根据一个字段进行排序 SEL6. 多表查询
6.1 一个案例引入多表查询 现在有两张表employees和department。 现在的要求是 # 查询每个员工的姓名和对应的部门名称 SELECT last_name, department_name FROM employees, departments; # 部分结果举例 /* | Gietz | Payroll | | Gietz | Recruiting03 基本的Select语句
3.1 select ..... select 1; # 没有字句 /* 查询结果: +---+ | 1 | +---+ | 1 | +---+ 1 row in set (0.01 sec) */ 3.2 select ... from ... # 语法 select 标识选择哪些列(*表示全选) from 表示从那个表中选择; # 例子 select * from departments; /* +---------------+------创建表与删除表,修改表名操作
创建表: 使用DDL语句创建表: create table 表名(列名 类型, 列名 类型,..........) 示例: 创建一个employees表包含雇员ID,雇员名字,雇员薪水。 注意:创建表先选择数据库哦,要不然创建不成功的! create table employees(employee_id int,employee_name varchar(10),salary float(8,2))MySQL5.30
add: 指的是最小2个以及2个以上的条件才满足要求 select * from employees where first_name="Parto"and gender="M" limit 5; or: 2个或者2个以上满足其中一个条件即可 select * from employees where first_name="Chirstian"or last_name="Speek" limit 5; 大于 seleMySQL-连接查询
连接查询-笛卡尔乘积 SELECT `name`,`boyName` FROM `beauty`,`boys` WHERE `beauty`.`boyfriend_id`=`boys`.`id`; 连接查询的分类 一、sql92标准 1.等值连接 案例1:查询女神名和对应的男神名 SELECT `name`,`boyName` FROM `beauty`,`boys` WHERE `beauty`.`boyfriend_idMySQL-分组查询
查询每个部门的平均工资 查询每个工种的最高工资 # 查询每个工种的最高工资 SELECT MAX(salary),job_id FROM `employees` GROUP BY `job_id` 查询每个位置上的部门个数 # 查询每个位置上的部门个数 select count(*),`location_id` from `departments` group by `location_idMySQL-sql99-子查询
标量子查询 案例:谁的工资比Abel高? # ①查询Abel的工资 SELECT `salary` FROM `employees` WHERE `last_name`='Abel'; 发现是一行一列 为标量子查询 # ②查询员工的信息,满足salary>①结果 SELECT * FROM `employees` WHERE `salary`>( SELECT `salary` FROM `employees`MySQL-sql99-子查询-列子查询、行子查询
列子查询(多行子查询) 案例:返回location_id是1400或1700的部门中所有员工姓名 # ①查询location_id是1400或1700的部门编号 SELECT `department_id` FROM `departments` WHERE `location_id` IN(1400,1700); 是1列多行 满足列子查询 # ②查询员工姓名,要求部门号是①列表中的某一第03章_基本的SELECT语句
# 1.SQL的分类 /* DDL:数据定义语言。CREATE\ALTER\DROP\RENAME\TRUNCATE DML:数据操作语言。INSERT\DELETE\UPDATE\SELECT DCL:数据控制语言。COMMIT\ROLLBACK\SAVEPOINT\GRANT\REVOKE */ #2.导入现有的数据表、表的数据。 /* 方式1:source 文件的全路径名 举例:source E:\BaiduMySQL8.0新特性—CTE
MySQL 8支持公用表表达式,包括非递归和递归两种。 公用表表达式允许使用命名的临时结果集,这是通过允许在SELECT语句和某些其他语句前面使用WITH子句来实现的。 不能在同一查询中两次引用派生表(子查询),因为那样的话,查询会根据派生表的引用次数计算两次或多次,这会引发严重的性能问题。【MySQL】02_子查询与多表查询
子查询 指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入。 SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者 需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集 合)进MySQL演示使用及数据库中的编码问题解决方法
4. MySQL演示使用 4.1 MySQL的使用演示 1.查看所有的数据库 show database; "information_schema"是MySQL系统自带的数据库,主要保存MySQL数据库服务器的系统信息,比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件、所在的文件夹和系统使用的文件夹,等等 "performanMySQL04-多表查询
#04 多表查询 #常用表 DESC employees; DESC departments; DESC locations; #查询员工名为'Abel'的人在哪个城市工作? SELECT * FROM employees WHERE last_name = 'Abel'; SELECT * FROM departments WHERE department_id = 80; SELECT * FROM locations WHERE location_i尚硅谷day01 练习
#day-01 课后练习#1.查询员工12个月的工资总和,并起别名为ANNUAL SALARY#注意null与''的区别SELECT employee_id,last_name,salary * 12 *(1+commission_pct) "ANNUAL SALARY"FROM employees;SELECT employee_id,last_name,salary * 12 *(1+IFNULL(commission_pct,0)) "ANNUAL