(ord_no NUMBER(2), item_no NUMBER(3),
qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200), expiry_date date CHECK (expiry_date > SYSDATE), CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),
CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no)); 当执行上述命令时失败,原因是什么?( A ) A. SYSDATE不能用于CHECK约束。
B. BETWEEN子句不能用于CHECK约束。
C. CHECK约束不能放在具有DATE数据类型的列。
D. ORD_NO和ITEM_NO不能用于复合主键因为ORD_NO也是外键。 26. 评估下列SQL命名:
SQL>CREATE SEQUENCE ord_seq INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCYCLE;
SQL>CREATE TABLE ord_items
(ord_no NUMBER(4)DEFAULT ord_seq.NEXTVAL NOT NULL, item_no NUMBER(3),
qty NUMBER(3) CHECK (qty BETWEEN 100 AND 200), expiry_date date CHECK (expiry_date > SYSDATE), CONSTRAINT it_pk PRIMARY KEY (ord_no,item_no),
CONSTRAINT ord_fk FOREIGN KEY(ord_no) REFERENCES orders(ord_no)); 上述命令建立表失败,哪两个SQL语法失败?( AC ) A. 你在CHECK约束的条件下不能使用SYSDATE。 B. 你在CHECK约束条件下不能使用BETWEEN。
C. 你不能使用NEXTVAL序列值作为列的DEFAULT值。
D. ORD_NO和ITEM_NO不能用于复合主键因为ORD_NO也是外键。 27. 哪个CREATE TABLE语法是有效的?( D ) A. CREATE TABLE ord_details
(ord_no NUMBER(2) PRIMARY KEY, item_no NUMBER(3) PRIMARY KEY, ord_date DATE NOT NULL); B. CREATE TABLE ord_details
(ord_no NUMBER(2) UNIQUE, NOT NULL, item_no NUMBER(3),
ord_date DATE DEFAULT SYSDATE NOT NULL); C. CREATE TABLE ord_details (ord_no NUMBER(2) , item_no NUMBER(3),
ord_date DATE DEFAULT NOT NULL, CONSTRAINT ord_uq UNIQUE (ord_no),
CONSTRAINT ord_pk PRIMARY KEY (ord_no));
D. CREATE TABLE ord_details (ord_no NUMBER(2), item_no NUMBER(3),
ord_date DATE DEFAULT SYSDATE NOT NULL,
CONSTRAINT ord_pk PRIMARY KEY (ord_no, item_no)); 28. 你用下列命令删除PRODUCTS表: SQL>DROP TABLE products;
下列哪三个说法正确的?( ABD ) A. 表的结构及所有数据都删除。 B. 在会话中未提交的事务被提交。
C. 表对应的所有的索引将保留但他们变为无效。 D. 所有的视图和同义词将保留但他们变为无效。 E. 所有的数据被删除但是表结构将保留。 29. 检查下列CREATE SEQUENCE语法: CREATE SEQUENCE seq1 START WITH 100 INCREMENT BY 10 MAXVALUE 200 CYCLE NOCACHE;
当SEQ1序列生成到最大值为200。你执行下列SQL语法: SELECT seq1.nextval FROM dual; 此SELECT语法显示什么?( A ) A. 1 B. 10 C. 100
D. 出现错误
30. 下面哪两个关于索引说法正确?( AD ) A. 他们可以建立在表和聚簇上。
B. 他们可以建立在表上和简单视图上。 C. 你可以使用相同的列创建唯一索引。
D. 如果你指定相同列的不同组合可以建立多个索引。 31. 检查下列SQL语法:
用PRODUCTS表,你需要生成名字,当前价格列表,及打折扣25%后小于$10的所有的这些产品。
SQL>SELECT prod_name, prod_list_price,
prod_list_price - (prod_list_price * .25) \FROM products
WHERE discounted_price < 10;
此查询执行时发生一个错误。此错误的原因是什么?( C ) A. 括号应包含整个表达式。
B. 双引号应该从列别名被删除。
C. 在WHERE子句的表达式应被替换。
D. 列别名应为大写且在WHERE子句中用双引号括起来。
32. 查看表PROMOTIONS表,PROMO_BEGIN_DATE是存储默认的日期,格式为dd-mon-rr. 你需要查看一个报表包括表promos 所有的name,cost,start date。 你能用哪个语法显示下列内容?( D )
A. SELECT promo_name, promo_cost, promo_begin_date FROM promotions
WHERE promo_category = 'post' AND promo_begin_date < '01-01-00'; B. SELECT promo_name, promo_cost, promo_begin_date FROM promotions
WHERE promo_cost LIKE 'post%' AND promo_begin_date < '01-01-2000'; C. SELECT promo_name, promo_cost, promo_begin_date FROM promotions
WHERE promo_category LIKE 'P%' AND promo_begin_date < '1-JANUARY-00'; D. SELECT promo_name, promo_cost, promo_begin_date FROM promotions
WHERE promo_category LIKE '%post%' AND promo_begin_date < '1-JAN-00'; 33. 查看PART_CODE字段包括下列内容: PART_CODE --------------------- A%_WQ123 A%BWQ123 AB_WQ123 检查下列查询:
SQL> SELECT part_code FROM spares WHERE part_code LIKE '%\\%_WQ12%' ESCAPE '\\'; 哪个语句的输入是正确的?( D ) A. 此语句错误.
B. 此语句显示所有的值.
C. 此语句只显示 A%_WQ123 and AB_WQ123 . D. 此语句只显示A%_WQ123 and A%BWQ123 . E. 此语句只显示A%BWQ123 and AB_WQ123. 34. 查看PROMOTIONS表结构,你需要生成符合 1. 促销名不能以'T'或'N'开头。 2. 促销成本应大于$2000。
3. 促销结束时间大于2001年1月1日。
哪个WHERE子句能得到正确的结果?( C )
A. WHERE promo_name NOT LIKE 'T%' OR promo_name NOT LIKE 'N%' AND promo_cost > 20000 AND promo_end_date > '1-JAN-01'
B. WHERE (promo_name NOT LIKE 'T%' AND promo_name NOT LIKE 'N%') OR promo_cost > 20000 OR promo_end_date > '1-JAN-01'
C. WHERE promo_name NOT LIKE 'T%' AND promo_name NOT LIKE 'N%' AND promo_cost > 20000 AND promo_end_date > '1-JAN-01'
D. WHERE (promo_name NOT LIKE '%T%' OR promo_name NOT LIKE '%N%') AND(promo_cost > 20000 AND promo_end_date > '1-JAN-01')
35. 查看表PROMOTIONS中的PROMO_CATEGORY 和 PROMO_COST字段,检查下列
查询语句:
SQL>SELECT DISTINCT promo_category to_char(promo_cost)\FROM promotions ORDER BY code;
SQL>SELECT DISTINCT promo_category promo_cost \FROM promotions ORDER BY 1;
上述SQL语句说法是正确的是?( B ) A. 只有第一个查询执行成功. B. 只有第二个查询执行成功.
C. 两个查询执行成功但得到不同的结果。but give different results. D. 两个查询执行成功但得到相同的结果.
36. 查看表CUSTOMERS,你需要生成一个报表显示客户的明细并按城市降序排序和收入
水平由高到底排序。
哪个查询能完成这个任务?( A )
A. SELECT cust_city, cust_income_level, cust_last_name FROM customers
ORDER BY cust_city desc, cust_income_level DESC ; B. SELECT cust_city, cust_income_level, cust_last_name FROM customers
ORDER BY cust_income_level desc, cust_city DESC;
C. SELECT cust_city, cust_income_level, cust_last_name FROM customers
ORDER BY (cust_city, cust_income_level) DESC;
D. SELECT cust_city, cust_income_level, cust_last_name
FROM customers
ORDER BY cust_city, cust_income_level DESC;
37. 哪些任务能用SQL函数完成?( ABC )选三项 A. 显示非默认格式的日期 B. 查找字符串的个数
C. 用指定的字符串替换表达式的字符串
D. 两个以上的列或表达式组合成在一个列并输出 38. 在表PRODUCTS中有下列数据:
PROD_ID PROD_LIST_PRICE
--------------------------------------------- -123456 152525.99 你执行下列查询:
SQL> SELECT RPAD(( ROUND(prod_list_price)), 10,'*') FROM products
WHERE prod_id = 123456;
输出的结果正确的是( A )? A. 152526 **** B. **152525.99 C. 152525** ** D. an error message
39. 在表CUSTOMER中你需要显示first name中包括'e'字符且最后第二个字符是'a'的所有
的客户。
下列哪个能得到需要的结果?( A ) A. SELECT cust_first_name FROM customers
WHERE INSTR(cust_first_name, 'e')<>0 AND SUBSTR(cust_first_name, -2, 1)='a'; B. SELECT cust_first_name FROM customers
WHERE INSTR(cust_first_name, 'e')<>'' AND SUBSTR(cust_first_name, -2, 1)='a'; C. SELECT cust_first_name FROM customers
WHERE INSTR(cust_first_name, 'e')IS NOT NULL AND SUBSTR(cust_first_name, 1,-2)='a'; D. SELECT cust_first_name FROM customers
WHERE INSTR(cust_first_name, 'e')<>0 AND
SUBSTR(cust_first_name, LENGTH(cust_first_name),-2)='a'; 40. 检查下列查询:
SQL> SELECT INITCAP(cust_first_name || ' ' || UPPER(SUBSTR(cust_city,-LENGTH(cust_city),2))) FROM customers
WHERE cust_first_name = 'ABIGAIL';
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle数据库考试试题库(2)在线全文阅读。
相关推荐: