10 |
您所在的位置:网站首页 › 如何编写检索表 › 10 |
本题目要求编写SQL语句, 检索Student表中与‘张三’在同一个专业的学生记录。 提示:MSSQLServer 评测SQL语句。 表结构:请在这里写定义表结构的SQL语句。例如: -- 学生表 CREATE TABLE stu ( sno char(4) NOT NULL, sname nvarchar(8) NOT NULL, sex smallint DEFAULT NULL, mno char(2) DEFAULT NULL, birdate datetime DEFAULT NULL, memo ntext, PRIMARY KEY (sno) ); 表样例请在这里给出上述表结构对应的表样例。例如 stu表: 请在这里给出输出样例。例如: 思路: 1.where条件为mno在in语句查询的stu表里面sname为张三的人的mno中 2.题目要求跟张三同一个专业,上面语句是查询了跟张三同一个专业的人也包括张三本人所以重复了,故where条件应该同时满足sname姓名不等于张三,SQL语句里面不等于表示为。 3.张三两个字前面最好加上大写的N 4.为什么要加N,原因如下:在SQL语句中,N表示使用Unicode字符编码方式。在进行字符串比较时,如果不加N,表示使用默认的字符编码方式,可能会导致中文字符无法正确比较。因此,当比较的字符串中包含非英文字符时,建议使用N前缀来指定使用Unicode编码方式,以确保比较的准确性。在这个例子中,如果不加N,可能无法正确比较sname是否等于N'C语言',加上N可以确保比较的准确性。 select distinct sno as 学号,sname as 姓名 from stu where mno in(select mno from stu where sname=N'张三') AND snameN'张三' |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |