mysql笔记002--入门

笛卡尔积

结果为两表行数的乘机,可以加上条件;

1 连接

1 两表顺序没有关系:where a.id =b.id;------------------两表的交集;

2 判断有奖金的员工 id和员工员工的部门,并且员工的薪水不为空;
select empid,departid from employee e, depart d where
e.id=d.id and salary is not null

3 查询城市中第二个字母为p,的城市和部门;
select cityName,departId from city c,depart d
where c.id=d.id and cityName like ‘_p%’;

4 查询每个城市的部门数;
select count(1) from city c,depart d where
c.id=d.id
group by city;

5 查询有奖金的每个部门的部门名和领导的编号,和薪水不为null;
select name id from depart d,employee e
where d.id=e.id
and salary is not null
group by depart_id,mannager_id;

7 查询每个工种的名字和员工的个数,并且按照员工的个数进行排序;
select job_title,count(星) from employee e,job j where
e.id=j.id
group by job_title
order by count(星) desc;

2 非等值连接

查询员工的工资和工资级别;
select salary,grade_lever from employee e,job j
where salary between lowest_salary and higest_lever
and grade_lever=‘a’;

自然连接???

测试题

查询员工表的employ_id,last_name 按照部门的id降序,salary升序排列;

1 select employ_id,last_name from employee order
by depart_id desc,salary asc;

2 查询员工表的job_id中包含a和e的,并且a在e的前面;

select job_id from employee where job_id like ‘%a%e%’;

3 student表 grade 表 result表

查询姓名,年级名,成绩;

select s.name,g,name,r.score from student s,
grade g,result r
where s.id=r.student_Id
and g.id=s.grageId;

4 显示当前的日期;

去除前后的空格;

截取字符串的函数;

select now();

select trim("");

select substr(str,strIndex,length);

1 sql99语法介绍重点!!!

99年推出的标准;

2 内连接

1 查询名字中包含e的员工名和工种名

select last_name ,job_title from employee e
inner join jobs j on e.job_id =j.job_id
where e.last_name like ‘%e%’;
(where 放在on的后面)

1 常见的数据类型

数值型:整形,小数,

字符型:char varchar 短的

长的:text,blob;

日期

2 具体的整型

tinyint:无符号 0-255;

tinyint unsigned

smallint 0-65535

mediumint 有符号 ± 8388607

int 20亿

bigint:很大

int:创建table的时候默认11 位,是有符号的,可以设置unsigned位无符号;

插入的范围是由数据的类型决定的:int(6)子是代表显示的数据默认的宽度如果不够会用0进行填充,但是必须搭配zerofill进行配合;

3 浮点型和定点型

浮点精度比较高;float doble(m,d);

定点:dec(m,d);

decimal(m,d);d:是小数点后的位数;M:整数和小数的位数,如果超过,

插入临界值;

m:默认可以省略随着插入而变化;decimal中的M:默认10;

如果精度高用定点(金融运算):

精度要求不太高,为了节约存储空间用float;

选择数据类型的时候原则:越简单越好,能保存的数值的类型越小越好;

2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值