MySQL学习——查询语句

    MySQL查询语句一般分为单表查询和多表查询。

        select......from......

                                    ---单表查询

MySQL查询语句 -----                            ---子查询

                                    多表查询 ---

                                                             --- 连接查询


单表查询

1、查询语句和条件以及查询的结果都在同一个表中

        eg:查询stu表中sto=1的学生的所有信息

select *from stu where sto =1;

    * 代表的是表中的所有信息   在查询语句中 查询条件都是跟在 where 后。

例题

-- 需求
   -- 1 用create database 命令创建emp_project数据库
   drop database if exists emp_project;
   create database emp_project;
   -- 2 用create table 命令创建emp表 用insert into语句在emp中添加10条数据
   -- emp表字段如下:
	create table emp(
		e_id  int not null auto_increment primary key,  	-- 员工的编号
		e_name  varchar(10) not null, 	-- 名字
		e_sex   varchar(2) not null,	-- 性别
		e_job   varchar(20) not null,	-- 职位
		e_salary int not null,	-- 薪水
		e_date 	 datetime not null,	-- 入职时间 
		e_age  	int not null	-- 年龄
	);
       
	insert into emp values(1,'张三','男','工程师',3500,'2010-3-4',23);
	insert into emp values(2,'李四','女','软件师',4500,'2010-3-4',33);
	insert into emp values(3,'王五','男','经理',5500,'2010-3-4',22);
	insert into emp values(4,'赵六','女','部门经理',6500,'2010-3-4',45);
	insert into emp values(5,'张七','男','业务员',7500,'2010-3-4',35);
	insert into emp values(6,'李八','女','总经理',8500,'2010-3-4',29);
	insert into emp values(7,'王9','男','工程师',4500,'2010-3-4',40);
        
   
     
  -- 3 查询工资范围在3000-10000之间的员工信息
	select * from emp where e_salary between 3000 and 10000;
  -- 4 查询性别为男的员工信息
	select * from emp where e_sex = '男';
  -- 5 查询姓李或者姓张的员工信息
	select * from emp where e_name like '张%' or e_name like '李%';
  -- 6 查询职位是工程师且工资大于4000的员工信息。
	select * from emp where e_job = '工程师' and e_salary >4000;
  -- 7 查询员工年龄小于30或者工资大于5000的员工信息
	select * from emp where e_age<30 or e_salary >5000;
  -- 8 查询员工信息工资从高到低排序
	select * from emp order by e_salary desc;

多表查询
建表
create table a(
	a_id int not null,
	a_name varchar(10)
);
create table b(
	b_id int not null,
	b_name varchar(10)
);
insert into a values(1,'张三');
insert into a values(2,'李四');
insert into a values(3,'王武');
insert into a values(6,'刘备');

insert into b values(1,'aa');
insert into b values(2,'bb');
insert into b values(3,'cc');
insert into b values(7,'ff');
表 a 表b

连接查询

1、内连接  inner join ...on...(inner join 可忽略不写)

符合条件,当需要查找两个表之间相同的字段的数据时,用内连接

    查询a 表和b表 id相同的人的数据

select * from a inner join b on a_id = b_id;

2、左连接 left join...on...  on后接连接条件

符合条件,查找以左表为主和右表




  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值