mysql学习笔记11_12(查询)
1、建表和插入值
创建company数据库
创建 department表
create table department(d_id int(10) primary key not null unique,d_name varchar(20) not null,function varchar(20),address varchar(30));
insert into department values(1001,'人事部','人事管理','北京');
insert into department values(1004,'销售部','产品销售','上海');
insert into department values(1003,'生产部','产品生产','天津');
insert into department values(1002,'科研部','研发产品','北京');
创建empoyee表
create table employee(id int(10) primary key not null unique,name varchar(20) not null,sex varchar(4),age int(5),d_id varchar(20),salary float,address varchar(50));
insert into employee values(9001,'Aric','男',25,'1002',4000,'北京市海淀区');
insert into employee values(9002,'Jim','男',26,'1001',2500,'北京市昌平区');
insert into employee values(9003,'Tom','男',20,'1003',1500,'湖南省永州市');
insert into employee values(9004,'Eric','男',30,'1001',3500,'北京市顺义区');
insert into employee values(9005,'Lily','女',21,'1002',3000,'北京市昌平区');
insert into employee values(9006,'Jack','男',28,'1003',1800,'天津市南开区');
employee表信息如下
mysql> select * from employee;
+------+------+------+------+------+--------+--------------------+
| id | name | sex | age | d_id | salary | address |
+------+------+------+------+------+--------+--------------------+
| 9001 | Aric | 男 | 25 | 1002 | 4000 | 北京市海淀区 |
| 9002 | Jim | 男 | 26 | 1001 | 2500 | 北京市昌平区 |
| 9003 | Tom | 男 | 20 | 1003 | 1500 | 湖南省永州市 |
| 9004 | Eric | 男 | 30 | 1001 | 3500 | 北京市顺义区 |
| 9005 | Lily | 女 | 21 | 1002 | 3000 | 北京市昌平区 |
| 9006 | Jack | 男 | 28 | 1003 | 1800 | 天津市南开区 |
+------+------+------+------+------+--------+--------------------+
6 rows in set (0.00 sec)
department表信息如下
mysql> select * from department;
+------+-----------+--------------+---------+
| d_id | d_name | function | address |
+------+-----------+--------------+---------+
| 1001 | 人事部 | 人事管理 | 北京 |
| 1002 | 科研部 | 研发产品 | 北京 |
| 1003 | 生产部 | 产品生产 | 天津 |
| 1004 | 销售部 | 产品销售 | 上海 |
+------+-----------+--------------+---------+
4 rows in set (0.00 sec)
2、查询表
(1)查询employee表的所有信息
(2)查询employee表的第4~5条记录
mysql> select * from employee limit 3,4;
+------+------+------+------+------+--------+--------------------+
| id | name | sex | age | d_id | salary | address |
+------+------+------+------+------+--------+--------------------+
| 9004 | Eric | 男 | 30 | 1001 | 3500 | 北京市顺义区 |
| 9005 | Lily | 女 | 21 | 1002 | 3000 | 北京市昌平区 |
| 9006 | Jack | 男 | 28 | 1003 | 1800 | 天津市南开区 |
+------+------+------+------+------+--------+--------------------+
3 rows in set (0.00 sec)
(3)从department表中查询部门号(d_id)、部门名称(d_name)和部门职能(function)
mysql> select d_id as 部门号,d_name as 部门名称,function as 部门职能
-> from department;
+-----------+--------------+--------------+
| 部门号 | 部门名称 | 部门职能 |
+-----------+--------------+--------------+
| 1001 | 人事部 | 人事管理 |
| 1002 | 科研部 | 研发产品 |
| 1003 | 生产部 | 产品生产 |
| 1004 | 销售部 | 产品销售 |
+-----------+--------------+--------------+
4 rows in set (0.02 sec)
(4)从employee表中查询人事部和科研部的员工的信息(嵌套查询)
mysql> select * from employee where d_id in (select d_id from department where (d_name ="人事部" or d_name ="科研部"));
+------+------+------+------+------+--------+--------------------+
| id | name | sex | age | d_id | salary | address |
+------+------+------+------+------+--------+--------------------+
| 9001 | Aric | 男 | 25 | 1002 | 4000 | 北京市海淀区 |
| 9002 | Jim | 男 | 26 | 1001 | 2500 | 北京市昌平区 |
| 9004 | Eric | 男 | 30 | 1001 | 3500 | 北京市顺义区 |
| 9005 | Lily | 女 | 21 | 1002 | 3000 | 北京市昌平区 |
(5)从employee表中查询年龄在25~30之间的员工的信息
mysql> select * from
-> employee
-> where age>25 and age<30;
+------+------+------+------+------+--------+--------------------+
| id | name | sex | age | d_id | salary | address |
+------+------+------+------+------+--------+--------------------+
| 9002 | Jim | 男 | 26 | 1001 | 2500 | 北京市昌平区 |
| 9006 | Jack | 男 | 28 | 1003 | 1800 | 天津市南开区 |
+------+------+------+------+------+--------+--------------------+
2 rows in set (0.00 sec)
(6)查询每个部门有多少员工
mysql> select d_id ,count(*) as 人数 from employee group by d_id;
+------+--------+
| d_id | 人数 |
+------+--------+
| 1001 | 2 |
| 1002 | 2 |
| 1003 | 2 |
+------+--------+
3 rows in set (0.00 sec)
更人性化的显示
mysql> select department.d_name as 部门,count(employee.d_id) as 人数 from employee,department where department.d_id = employee.d_id group by employee.d_id;
+-----------+--------+
| 部门 | 人数 |
+-----------+--------+
| 人事部 | 2 |
| 科研部 | 2 |
| 生产部 | 2 |
+-----------+--------+
3 rows in set (0.00 sec)
mysql学习笔记11_12(查询)的更多相关文章
- 【SQL】MySQL学习笔记1-----子查询
1.什么叫子查询? 通俗的讲就是查询中有查询,SQL语句中有多个select语句. 2.什么地方可以嵌入子查询? SELECT 列 (不在标准之内) FROM 表 (可以嵌入,作为表存在) WHERE ...
- Entity Framework with MySQL 学习笔记一(查询)
参考 : http://msdn.microsoft.com/en-us/data/jj574232.aspx EF 查询基本上有3中 默认是 Lazy Loading 特色是只有在需要数据的时候EF ...
- MySQL学习笔记(3) - 查询服务器版本,当前时间,当前用户
SELECT VERSION(); --显示当前服务器版本 SELECT NOW(); --显示当前日期时间 SELECT USER(); --显示当前用户 MySQL中语句规范: 1.关键字和函数名 ...
- MySQL学习笔记(二)—查询
一.多表连接查询 新建两张表t_user.t_order. 1.内连接 返回满足条件的所有记录. (1)显式内连接 使用inner join关键字,在on ...
- MySql学习笔记(一)之DQL常用查询
MySql学习笔记(一)之DQL常用查询 前言:mysql是中小型的数据库软件,SQL语言分为DDL,DCL,DML,DQL四种,在这里重点讲解DQL的单表查询. 正文:在学习mysql单表查询之前, ...
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
随机推荐
- ubuntu 16.04 TLS 安装VNC
安装 #autocuftsel 用于vnc两段的复制粘贴 sudo apt-get install autocutsel 安装 vncserversudo apt-get install --no-i ...
- Java8-Lambda-No.03
import java.util.Comparator; import java.util.Objects; import java.util.UUID; import java.util.concu ...
- C# Contract诊断
命名空间 : using System.Diagnostics.Contracts; 属性标记 : [ContractOption(category: "runtime", set ...
- C# MVC中直接执行Js
.NET MVC里如何在服务器端执行JS: 三种解决方案: 1.直接返回JavaScript. public ActionResult XXXAction1() { return JavaS ...
- SVN错误之“copy admin area is missing”
1.将对应冲突的文件夹备份一份 2.再复制一份到别的地方,资源管理器搜索.svn全部删除掉 3.删掉本地svn目录里的冲突文件,update一下父目录,显示ok 4.把刚才删掉.svn的目录复制覆盖过 ...
- 生日礼物 HYSBZ - 1293 【单调队列】【求最短区间的长度,区间需要满足包含所有颜色种类】
生日礼物 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠,但多个彩珠也可以出现在 ...
- 005_STM32程序移植之_RC522读卡模块
1. 测试环境:STM32C8T6 2. 测试模块:RC522读卡模块 3. 测试接口: RC522读卡模块: VCC------------------3.3V GND--------------- ...
- PHPCMS v9插件包整合
插件包是已经修改好的文件集合,您可以直接将插件包复制到您的网站中. 注意:插件包会替换phpcms中的文件,如果您修改过phpcms中的文件请先备份好旧的文件. 1.下载插件包 2.解压 3.复制里面 ...
- luogu 4768
kruskal 重构树对于一张无向图,我们在进行 kruskal 的过程中每当合并两个联通块时新建虚拟节点 t对于两个联通块的根节点 fau,fav 连无向边(fau, t),(fav, t) 其中点 ...
- luogu P4859 已经没有什么好害怕的了
嘟嘟嘟 题中给的\(k\)有点别扭,我们转换成\(a > b\)的对数是多少,这个用二元一次方程解出来是\(\frac{n + k}{2}\). 然后考虑dp,令\(dp[i][j]\)表示前\ ...