[MySQL光速入門]012 作業解答

貓哥的技術部落格發表於2019-03-27

實訓內容二

  1. 使用算數運算子-, 查詢最低借閱量與最高借閱量的差值

    select max(borrowsum)-min(borrowsum) as 差值 from book;
    複製程式碼
  2. 使用比較運算子(>)查詢book表中借閱量大於10的書籍資訊

    select * from book where borrowsum > 10;
    複製程式碼
  3. 使用right()函式返回從字串loveMySQL右邊開始的5個字元

    select right('ILoveMySQL',5);
    複製程式碼
  4. 查詢資料表bookborrow中2011年的借閱資訊

    -- 第1種方法
     SELECT
     	* 
     FROM
     	bookborrow 
     WHERE
         ( DATEDIFF( borrowtime, '2011-01-01' ) > 0 AND DATEDIFF( borrowtime, '2011-01-01' ) < 365 ) 
     	OR 
         ( DATEDIFF( returntime, '2011-01-01' ) > 0 AND DATEDIFF( returntime, '2011-01-01' ) < 365 );
         
     -- 第2種方法    
     SELECT
     	* 
     FROM
     	bookborrow 
     WHERE
         ( borrowtime >= '2011-01-01' AND borrowtime <= '2011-12-31' ) 
     	OR 
         ( returntime >= '2011-01-01' AND returntime <= '2011-12-31' );
     
     -- 第3種方法    
     SELECT
     	* 
     FROM
     	bookborrow 
     WHERE
         ( borrowtime BETWEEN '2011-01-01' AND '2011-12-31' ) 
     	OR 
         ( returntime BETWEEN '2011-01-01' AND '2011-12-31' );
     
     -- 第4種方法    
     SELECT
     	* 
     FROM
     	bookborrow 
     WHERE
         borrowtime LIKE '2011%' 
     	OR 
         returntime LIKE '2011%';
     
     -- 第5種方法    
     SELECT
     	* 
     FROM
     	bookborrow 
     WHERE
         borrowtime REGEXP '^2011' 
     	OR 
         returntime REGEXP '^2011';
     
     -- 第6種方法    
     SELECT
     	* 
     FROM
     	bookborrow 
     WHERE
         YEAR ( borrowtime ) = '2011' 
     	OR 
         YEAR ( returntime ) = '2011';
    複製程式碼
  5. 使用concat()函式連線兩個字串

    select concat('ILove','MySQL');
    複製程式碼

操作題三

  1. 查詢選修了C1或C2且分數大於或等於85分的學生學號

    SELECT
    	student.sid 
    FROM
    	student,
    	scourse 
    WHERE
    	student.sid = scourse.sid 
    	AND scourse.cid IN ( 'C1', 'C2' ) 
    	AND score >= 85;
    複製程式碼
  2. 查詢工資不在1500~2000之間的教師號,姓名,職稱

    SELECT
    	tname,
    	tid,
    	title 
    FROM
    	teacher 
    WHERE
    	salary NOT BETWEEN 1500 
    	AND 2000;
    複製程式碼
  3. 從bookinfo中查詢書的名稱和單價, 使書的單價精確到個位即可

    select bname,TRUNCATE(bprice,1) from bookinfo;
    複製程式碼
  4. 從bookinfo表中查詢所有的書名, 數量以及單價資訊, 並要求所有書名用大寫字母表示

    SELECT
    	upper( bname ),
    	quantity,
    	bprice 
    FROM
    	bookinfo;
    複製程式碼
  5. 從bookinfo表中查詢所有以processing結尾的書名, 數量, 單價資訊

    SELECT
    	bname,
    	quantity,
    	bprice 
    FROM
    	bookinfo 
    WHERE
    	bname LIKE '%processing';
    複製程式碼
    SELECT
    	bname,
    	quantity,
    	bprice 
    FROM
    	bookinfo 
    WHERE
    	RIGHT ( bname, 10 ) = 'processing';
    複製程式碼
    SELECT
    	bname,
    	quantity,
    	bprice 
    FROM
    	bookinfo 
    WHERE
    	bname REGEXP 'processing$' = 1;
    複製程式碼
  6. bookinfo表中查詢所有的書名, 單價資訊以及將書名中的字串processing替換為pro.後的結果

    SELECT
    	bname,
    	REPLACE ( lower( bname ), 'processing', 'pro.' ) AS 轉換後,
    	bprice 
    FROM
    	bookinfo;
    複製程式碼

快速跳轉

相關文章