暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【每日一练 001】SQL : select 基本语法

原创 水清木华 2020-06-24
958

select 基本语法作业
问题:(https://www.modb.pro/db/26443)
如下是BOOKS_TRANSACTIONS表的结构:
DESC BOOKS_TRANSACTIONS
TRANSACTION_ID NOT NULL VARCHAR2
BORROWED_DATE DATE
DUE_DATE DATE
BOOK_ID VARCHAR2
MEMBER_ID VARCHAR2 (6)
需求:打印输出BOOKS_TRANSACTIONS表的MEMBER_ID,DUE_DATE的信息以字符’$2’作为LATE_FEE信息。如下哪个SQL是正确的?
A) SELECT member_id AS MEMBER_ID, due_date AS DUE_DATE, $2 AS LATE_FEE FROM BOOKS_TRANSACTIONS;
B) SELECT member_id AS “MEMBER_ID”, due_date AS “DUE_DATE”, ‘$2’ AS " LATE_FEE” FROM BOOKS_TRANSACTIONS;
C) SELECT member_id AS “MEMBER_ID”, due_date AS “DUE_DATE”, $2 AS “LATE_FEE” FROM BOOKS_TRANSACTIONS;

答案为B
解答:对于A、C,$2没有加’’,执行将会报错;
实验验证:
建表:
create table BOOKS_TRANSACTIONS (
TRANSACTION_ID VARCHAR2(10) NOT NULL ,
BORROWED_DATE DATE,
DUE_DATE DATE,
BOOK_ID VARCHAR2(10),
MEMBER_ID VARCHAR2(6));

插入数据:
insert into BOOKS_TRANSACTIONS values(‘10001’,to_date(‘2010-2-26 11:07:25’ , ‘yyyy-mm-dd hh24:mi:ss’),sysdate,‘b10001’,‘00001’);
insert into BOOKS_TRANSACTIONS values(‘10002’,to_date(‘2010-2-26 11:07:25’ , ‘yyyy-mm-dd hh24:mi:ss’),sysdate,‘b10002’,‘00002’);

检查:
image.png
针对A、C:
SELECT member_id AS MEMBER_ID, due_date AS DUE_DATE, $2 AS LATE_FEE FROM BOOKS_TRANSACTIONS;

image.png

SELECT member_id AS “MEMBER_ID”, due_date AS “DUE_DATE”, $2 AS “LATE_FEE” FROM BOOKS_TRANSACTIONS;
image.png

针对B:
SELECT member_id AS “MEMBER_ID”, due_date AS “DUE_DATE”, ‘$2’ AS “LATE_FEE” FROM BOOKS_TRANSACTIONS;
image.png

调整下格式,在" LATE_FEE"的L前增加空格,发现结果不一样,
SELECT member_id AS “MEMBER_ID”, due_date AS “DUE_DATE”, ‘$2’ AS " LATE_FEE" FROM BOOKS_TRANSACTIONS;
image.png

SELECT member_id AS “MEMBER_ID”, due_date AS “DUE_DATE”, '$2 ’ AS " LATE_FEE" FROM BOOKS_TRANSACTIONS;
image.png
发现如果别名开头有空格的话,结果将不一样,增加$2后面的空格,会逐渐显示完整,个人见解,不知是否正确。

最后修改时间:2020-06-24 14:46:13
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论