首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL练习题(经典50题)

    – 建表 –学生表 CREATE TABLE Student( s_id VARCHAR(20), s_name VARCHAR(20) NOT NULL DEFAULT ‘’, s_birth VARCHAR(20) NOT NULL DEFAULT ‘’, s_sex VARCHAR(10) NOT NULL DEFAULT ‘’, PRIMARY KEY(s_id) ); –课程表 CREATE TABLE Course( c_id VARCHAR(20), c_name VARCHAR(20) NOT NULL DEFAULT ‘’, t_id VARCHAR(20) NOT NULL, PRIMARY KEY(c_id) ); –教师表 CREATE TABLE Teacher( t_id VARCHAR(20), t_name VARCHAR(20) NOT NULL DEFAULT ‘’, PRIMARY KEY(t_id) ); –成绩表 CREATE TABLE Score( s_id VARCHAR(20), c_id VARCHAR(20), s_score INT(3), PRIMARY KEY(s_id,c_id) ); –插入学生表测试数据 insert into Student values(‘01’ , ‘赵雷’ , ‘1990-01-01’ , ‘男’); insert into Student values(‘02’ , ‘钱电’ , ‘1990-12-21’ , ‘男’); insert into Student values(‘03’ , ‘孙风’ , ‘1990-05-20’ , ‘男’); insert into Student values(‘04’ , ‘李云’ , ‘1990-08-06’ , ‘男’); insert into Student values(‘05’ , ‘周梅’ , ‘1991-12-01’ , ‘女’); insert into Student values(‘06’ , ‘吴兰’ , ‘1992-03-01’ , ‘女’); insert into Student values(‘07’ , ‘郑竹’ , ‘1989-07-01’ , ‘女’); insert into Student values(‘08’ , ‘王菊’ , ‘1990-01-20’ , ‘女’); –课程表测试数据 insert into Course values(‘01’ , ‘语文’ , ‘02’); insert into Course values(‘02’ , ‘数学’ , ‘01’); insert into Course values(‘03’ , ‘英语’ , ‘03’);

    01

    NOT IN子查询中出现NULL值对结果的影响你注意到了吗

    * GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 前言 开发人员写的SQL语句中经常会用到in,exists,not in,not exists 这类子查询,通常,含in、exists的子查询称为半连接(semijoin),含not in、 not exists的子查询被称之为反连接,经常会有技术人员来评论in 与exists 效率孰高孰低的问题,我在SQL优化工作中也经常对这类子查询做优化改写,比如半连接改为内连接,反连接改为外连接等,哪个效率高是要根据执行计划做出判断的,本文不是为了讨论效率问题,是要提醒一点:not in子查询的结果集含NULL值时,会导致整个语句结果集返回空,这可能造成与SQL语句书写初衷不符。

    01
    领券