内连接、外连接
1 | 1.内连接是将两张表满足关联条件的数据查询出来 |
内连接
SQL语句
1 | select * from user u, score s where u.id = s.uid; |
查询结果
左外连接
SQL语句
1 | select * from user t left join score s on t.id = s.uid; |
查询结果
右外连接
SQL语句
1 | select * from score t right join user u on t.uid = u.id; |
查询结果
group by和having
用户表添加一个id相同的数据
根据用户id分组,查询占用用户id和使用相同用户id的数量
1 | select id, count(id) quantity from user group by id; |
先根据用户id分组,查询使用用户id数量大于1的用户id,再将其作为条件查询用户信息
1 | select * from user where id in (select id from user group by id having count(id) > 1); |
count函数
添加一条id为null的数据
1 | 1.count(列)时,该列不允许有null存在,否则查询结果会出现错误 |
根据列查询用户数量
1 | select count(id) quantity from user; |
根据*查询用户数量
1 | select count(*) quantity from user; |
select * from存在的问题
1 | 1.不管需要与否都会从数据库表中拿到所有字段的数据,会导致查询低效 |
insert into 表名时需要注意的问题
1 | 不推荐使用insert into 数据库表名 values ('值', ...),因为如果当数据库表字段发生变化时无法精准写入数据到对应的字段中 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 123!