数据查询(sql运算符)

  1. 数据的导入
    我们的数据库可以运行已经写好的sql文件,将其中的数据添加到数据库或表中。
    Linux下使用命令运行

    source /home/emp.sql;
    

    Windows下使用命令运行

    source d:/emp.sql;
    

    如果运行后查询内容是乱码,运行set names gbk;

emp.sql

/*
SQLyog Ultimate - MySQL GUI v8.2 
MySQL - 5.5.59-MariaDB : Database - newdb3
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`newdb3` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `newdb3`;

/*Table structure for table `dept` */

DROP TABLE IF EXISTS `dept`;

CREATE TABLE `dept` (
  `DEPTNO` int(4) NOT NULL,
  `DNAME` varchar(14) NOT NULL,
  `LOC` varchar(13) DEFAULT NULL,
  PRIMARY KEY (`DEPTNO`),
  UNIQUE KEY `DNAME` (`DNAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `dept` */

insert  into `dept`(`DEPTNO`,`DNAME`,`LOC`) values (1,'神仙','天庭'),(2,'妖怪','盘丝洞'),(3,'普通人','北京'),(4,'赛亚人','外星球');

/*Table structure for table `emp` */

DROP TABLE IF EXISTS `emp`;

CREATE TABLE `emp` (
  `EMPNO` int(4) NOT NULL,
  `ENAME` varchar(10) NOT NULL,
  `JOB` varchar(9) DEFAULT NULL,
  `MGR` int(4) DEFAULT NULL,
  `HIREdate` date DEFAULT NULL,
  `SAL` double(7,2) DEFAULT NULL,
  `COMM` double(7,2) DEFAULT NULL,
  `DEPTNO` int(4) DEFAULT NULL,
  PRIMARY KEY (`EMPNO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `emp` */

insert  into `emp`(`EMPNO`,`ENAME`,`JOB`,`MGR`,`HIREdate`,`SAL`,`COMM`,`DEPTNO`) values (1,'孙悟空','销售',4,'1980-12-17',800.00,NULL,1),(2,'猪八戒','销售',4,'1981-02-20',1600.00,300.00,1),(3,'沙僧','销售',4,'1981-02-22',1250.00,500.00,1),(4,'唐僧','销售经理',8,'1981-04-02',2975.00,NULL,1),(5,'刘备','项目经理',NULL,'1981-09-28',1250.00,1400.00,3),(6,'关羽','程序员',5,'1981-05-01',2850.00,NULL,3),(7,'张飞','程序员',5,'1981-06-09',2450.00,NULL,3),(8,'观音','CEO',NULL,'1981-11-17',5000.00,NULL,1),(9,'白骨精','人事',8,'1981-09-08',1500.00,0.00,2),(10,'蜘蛛精','人事',8,'1981-12-03',950.00,NULL,2),(11,'黑熊怪','市场',8,'1981-12-03',3000.00,NULL,2);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  • SQL文件插入数据表,使用命令source 然后把文件直接拖入输入框即可。
  1. 判断null

    使用is null 和 is not null判断数据是否为空

    	查询没有上级领导的运功信息
    	select * from emp where mgr is null;
    
    	查询有上级领导的员工姓名
    	select ename from emp where mgr is not null;
    
  2. 关系运算符
    sql 的运算符: != 和 <> 都是不等于

    	select ename, sal from emp where sal<= 3000;
    
    	查询工作不是程序员的员工姓名和工作
    	select ename, job from emp where job!='程序员';
    	select ename, job from emp where job<>'程序员';
    
  3. 逻辑运算符
    sql中的逻辑运算符and 和 or 类似 java中的 && 和 ||

    查询1号部门工资高于2000的员工信息。
    select * from emp where deptno=1 and sal > 2000;
    
    查询工作是人事或工资大于3000的员工姓名,工资,工作
    select ename,sal,job from emp where job='人事' or sal>3000;
    
    
  4. between关键字

查询x和y之间 包含x和y
查询工资在20003000之间的员工姓名和工资。
select ename,sal from emp where sal >= 2000 and sal <= 3000;
select ename,sal from emp where sal between 2000 and 3000;
  1. in关键字
    工资为3000,1500, 5000的员工姓名和工资
select ename,sal from emp where sal=3000 or sal=1500 or sal=5000;

select ename,sal from emp where sal in(3000,1500,5000);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值