表关联查询
内连接
inner join,⼜叫内连接的部分,主要是获取两个表中字段匹配关系的表。查询关联字段共同拥有的数据。
再次查询
将employees表中的first_name,last_name和salaries表中的salary 内连接起来。
三个表之间的关联
左连接(left join)
select * from good g left join shop s on g.id=s.good_id;
右连接(right join)
获取右表所有记录的信息,获取右边数据表所有的数据信息
select * from 表1 表1别名 right join 表2 表2别名 on 表1别名.id=表2别名.good_id;
select 字段列表 from 表1 where 字段名 in(select 字段名 from 表2 where 条件);
子查询的逻辑:里面的SQL执行的结果是,是外面SQL执行的结果是输入(能够子查询的必然能够内连接)
查询工资在155000与160000之间的员工姓名
有两张表分别计算(算术表达式)
MySQL索引
创建表示增加索引
补充知识
一、创建表的约束
create table if not exists tableName(Field Type);
如果不存在表就创建它,且如果该表已存在,该sql语句不会报错。
二、列的约束
AUTO_INCREMENT:自增 PRIMARY KEY:主键 NOT NULL:不为空 unique:唯一性 default:默认
一个表中多个字段怎么设置主键?
三、MySql的时间类型
DATETIME:YYYY-MM-DD HH:MM:SS 最大值到9999
TIMESTAMP:YYYY-MM-DD HH:MM:SS 最大值到2038年
DATE:YYYY-MM-DD TIME:HH:MM:SS
YEAR:YYYY
查询时间范围
四、MySQL小数点
FLOAT:单精度 DOUBLE:双精度 DECIMAL (M, D):D代表小数点前的位数,M代表小数点后的位数
语法格式“DECIMAL(M,D)”。其中,M是数字的最大数(精度),其范围为“1~65”,默认值是10;D是小数点右侧数字的数目(标度),其范围是“0~30”,但不得超过M。