Mysql数据库中sql语句常见的面试题和例子

如题所述

Sql语句常见实例以及解决办法;
基于索引的SQL语句优化
常见的Mysql面试题
SQL中LEFTJOIN的含义是__,如果tbl_user记录了学生的姓名(name)和学号(ID), tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句____. 答:自然左外连接 createdatabasephpinterview; usephpinterview createtabletbl_user ( IDintnotnull, namevarchar(50)notnull, primarykey(ID) ); createtabletbl_score ( IDintnotnull, scoredec(6,2)notnull, subjectvarchar(20)notnull ); insertintotbl_user(ID,name)values(1,’beimu’); insertintotbl_user(ID,name)values(2,’aihui’); insertintotbl_score(ID,score,subject)values(1,90,’语文’); insertintotbl_score(ID,score,subject)values(1,80,’数学’); insertintotbl_score(ID,score,subject)values(2,86,’数学’); insertintotbl_score(ID,score,subject)values(2,96,’语文’); selectA.id,sum(B.score)assumscore fromtbl_userAleftjointbl_scoreB onA.ID=B.ID groupbyA.id
计选修课的学生总数和考试的平均成绩。SELECTCOUNT(DISTINCT(Sno))AS学生总数,AVG(Grade)AS平均成绩FROMSC--//用DISTINCT消除重复的行
查询选课门数超过2门的学生的平均成绩和选课门数。SELECTStudent.Sname,AVG(Sc.Grade)平均成绩,COUNT(SC.Sno)选课门数FROMSC--内联接join或innerjoin,内联系是比较运算符,只返回符合条件的行JOINStudentON(SC.Sno=Student.Sno)JOINCourseON(SC.Cno=Course.Cno)GROUPBYStudent.SnameHAVINGCOUNT(distinctCourse.Cno)2--分组条件
温馨提示:答案为网友推荐,仅供参考