navicat
-创建
-新建查询
-转储sql文件
命令:
转储当前目录所有的文件与数据:mysqldump -u root db4 > db4.sql -p
转储当前目录到表结构没有数据:mysqldump -u root -d db4 > db4.sql -p
导入文件:mysqldump -u root -d db4 < db4.sql -p
执行导入文件之前一定要有数据库:
create dabatase db5;
mysqldump -u root -d db5 < db1.sql -p;
注释语句有空格:-- select * from score where number>=60;

练习:
-- select * from score where number>=60;
-- select * from course group by tearch_id;
-- 每个老师教了几门课进行统计:
-- select tearch_id,count(cname) from course group by tearch_id;
-- 显示课程表的所有字段名称,并且要显示老师姓名,需要连表查询:
-- select * from course
-- LEFT JOIN teacher on course.tearch_id=teacher.tid;

-- 显示学生的所有字段,并要显示班级,需要连表查询:
--select *from student
--left join class on student.class_id=class.uid;

-- 显示性别字段,并要统计男女的个数,需要连表查询:
-- 1.select * from student
-- 2.select * from student group by gender
-- 3.select gender,count(gender) from student group by gender
select gender,count(gender) from student group by gender;
-- 这么写也可以
select gender,count(sid) from student group by gender;

第二段:

临时表创建:
select sid from (select * from score where number > 60) as B;

这么写就报错,因为临时表中没有sid字段。必须用as B才会临时表。
select sid from (select num,course from score where number > 60) as B;

select * from score;
select student_id from score group by student_id;
select student_id,avg(number)from score group by student_id;
select student_id,avg(number)from score group by student_id having avg(number)>60;
select * from (select student_id,avg(number)from score group by student_id having avg(number)>60) as B;

select * from (select student_id,avg(number)from score group by student_id having avg(number)>60) as B
left join student on B.student_id = student.sid;

select student_id,sname from (select student_id,avg(number)from score group by student_id having avg(number)>60) as B
left join student on B.student_id = student.sid;

select B.student_id,student.sname,ccc from (select student_id,avg(number) as ccc from score group by student_id having avg(number)>60) as B
left join student on B.student_id = student.sid;

select * from score left join student on score.student_id=student.sid;
select score.student_id,student.sname from score left join student on score.student_id=student.sid;

select sid,1 from tb;显示sid的同时,多加一列为1

select score.student_id,student.sname,count(student_id),sum(number) from score left join student on score.student_id=student.sid group by score.student_id;

没学过老师的课程:
select * from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空";

select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空";

select * from score where course_id not in (2,4);

select * from score where course_id not in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")

select * from score where course_id not in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
group by student_id;

select * from (select score.student_id as bid from score where course_id not in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空") ) as B
left join student on B.bid=student.sid;

选过的老师ID
select * from score where course_id in (select teacher.tid from course left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")

6.没有选过老师的学生的信息
select * from student where sid not in (select student_id from score where course_id in (select course.cid from course
left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
group by student_id)

select student.sid,student.sname from student where sid not in (select student_id from score where course_id in (select course.cid from course
left join teacher on course.tearch_id=teacher.tid where teacher.tname="空空")
group by student_id)

2.物理>物理的成绩选取
select * from score
left join course on score.course_id=course.cid;

select * from score
left join course on score.course_id=course.cid where course.cname="生物";

字段筛选:
select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="生物";

select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="物理";

两列数据中,同行进行比较
select * from tb1 id1>id2

将生物列出来的表,与物理成绩列出的信息,联成一张表,进行一个学生的成绩进行比较
select * from
(select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="生物") as A
inner join
(select score.sid,score.student_id,course.cname,score.number from score
left join course on score.course_id=course.cid where course.cname="物理") as B
on A.student_id=B.student_id
where A.number>B.number;

最新文章

  1. Unity仪表盘显示UGUI制作小心得
  2. _ATTRIBUTE__ 你知多少?
  3. spring mvc 数据绑定总结
  4. 【现代程序设计】【homework-05】
  5. C#_数据库交互_SqlHelper
  6. js运动
  7. UltraISO对光盘镜像的常用操作
  8. Linux下的QQ折腾记
  9. [C入门 - 游戏编程系列] 贪吃蛇篇(四) - 食物实现
  10. poj 1940 Wine Trading in Gergovia_贪心
  11. Swift初探一
  12. 尚学堂Java第一课
  13. (转载)Oracle10g 数据泵导出命令 expdp 使用总结(一)
  14. java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析
  15. dede:list及dede:arclist 按权重排序的方法
  16. CSS3_标准盒子模型和怪异盒子模型
  17. Linux下的Nginx的配置+Tomcat启动
  18. adb INSTALL_FAILED_UPDATE_INCOMPATIBLE
  19. Easyui + asp.net MVC 系列教程 第19-23 节 完成注销 登录限制过滤 添加用户
  20. STL——序列式容器

热门文章

  1. JZOJ 5174
  2. Ubuntu安装Zabbix6.0
  3. 开发者进阶必备的9个Tips &amp; Tricks!
  4. js提示框触发和定时关闭
  5. unity 单元测试
  6. 【6】java之数组的定义和使用
  7. FTP调优
  8. 微信小程序if for
  9. Deer_GF之UI界面制作
  10. Win10中找回曾复制过的东西