MySQLのDQL(データ照会言語:基本的なSELECT文、フィルタリングとソートデータ)構文とケース

16481 ワード

転載は出典を明記してください.https://blog.csdn.net/men_ma/article/details/106821000.本文は新聞の間違いを恐れないで間違いを報告しないことを恐れない小猿のブログから出た.
MySQLのDQL(データ照会言語:基本的なSELECT文、フィルタリングとソートデータ)構文とケース
  • 前言
  • 基本的なSELECT文
  • 1、すべての列を問い合わせる
  • 2、クエリー特定の列
  • 3、列の別名
  • 4、別名
  • の使用
  • 5、文字列
  • 6、表示テーブル構造
  • 基礎照会事例
  • フィルタリングおよびソートデータ
  • 1、ろ過
  • クエリー・ケースのフィルタ
  • 2、クエリで行をフィルタ
  • 3、where句
  • 4、比較演算
  • 5、between
  • 5.1 between andケース
  • 6、in
  • 6.1 inのケース
  • 7、like
  • 7.1 likeのケース
  • 8、null
  • 9、論理演算
  • 10、order by句
  • 10.1ソートのケース
  • 10.2ソートの練習
  • まとめ
  • 前言
    この文書では、ここでデータベーステーブルスクリプトリソースを提供します.MySQLにインポートすれば使用できます.リソースリンク:https://download.csdn.net/download/men_ma/12531135 (Ctrl+c&&Ctrl+v)
    基本的なSELECT文
    1、すべての列を問い合わせる
    2、特定の列を問い合わせる
    3、列の別名
          。
        。
        ,                ‘AS’,       ,                      。
    

    4、別名の使用
    5、文字列
           SELECT         ,  ,  。
                  。 •        ,        。
    
    

    6、表構造を表示する
    注意:
    SQL         。 • SQL           
                 
             。
                。
    

    ベース・クエリー・ケース
    /*
      :
    select      from   ;
    
    
       :System.out.println(    );
    
      :
    
    1、       :     、   、   、  
    2、             
    */
    
    # USE myemployees;
    
    #1.         
    
    SELECT last_name FROM t_mysql_employees;
    
    #2.         
    SELECT last_name,salary,email FROM t_mysql_employees;
    
    #3.         (    ,     “   ”,        ,    ,            "   ")
    
    #   :
    SELECT 
        `employee_id`,
        `first_name`,
        `last_name`,
        `phone_number`,
        `last_name`,
        `job_id`,
        `phone_number`,
        `job_id`,
        `salary`,
        `commission_pct`,
        `manager_id`,
        `department_id`,
        `hiredate` 
    FROM
        t_mysql_employees ;
    #   :  
     SELECT * FROM t_mysql_employees;
     
     #4.     
     SELECT 100;
     SELECT 'john';
     
     #5.     
     SELECT 100%98;
     
     #6.    
     
     SELECT VERSION();
     
     
     #7.   
     /*
     ①    
     ②              ,          
     
     */
     #   :  as
    SELECT 100%98 AS   ;
    SELECT last_name AS  ,first_name AS   FROM t_mysql_employees;
    
    #   :    
    SELECT last_name  ,first_name   FROM t_mysql_employees;
    
    
    #  :  salary,      out put
    SELECT salary AS "out put" FROM t_mysql_employees;
    
    
    #8.  
    
    
    #  :                 
    SELECT DISTINCT department_id FROM t_mysql_employees;
    
    
    #9.+    
    
    /*
    
    java  + :
    ①   ,          
    ②   ,            
    
    mysql  + :
            :   
    
    select 100+90;select '123'+90;          ,              
    			      ,        
    select 'john'+90;	      ,          0
    
    select null+10;        null,      null
    
    */
    
    #  :              ,       
    SELECT CONCAT('a','b','c') AS   ;
    
    SELECT 
    	CONCAT(last_name,first_name) AS   
    FROM
    	t_mysql_employees;
    

    データのフィルタとソート
    1、濾過
      WHERE   ,           。
    WHERE      FROM   。
    
    

    クエリー・ケースのフィルタ処理
    /*
    
      :
    	select 
    		    
    	from
    		  
    	where
    		    ;
    
      :
    	 、        
    	
    	       :> < = != <> >= <=
    	
    	 、        
    	     :
    	  :         
    		&& || !
    		and or not
    		
    	&& and:      true,   true,   false
    	|| or:         true,   true,   false
    	! not:           false,   true,   false
    	
    	 、    
    		like
    		between and
    		in
    		is null
    	
    */
    # 、        
    
    #  1:    >12000     
    
    SELECT 
    	*
    FROM
    	t_mysql_employees
    WHERE
    	salary>12000;
    	
    	
    #  2:         90          
    SELECT 
    	last_name,
    	department_id
    FROM
    	t_mysql_employees
    WHERE
    	department_id<>90;
    
    
    # 、        
    
    #  1:    z 10000 20000      、      
    SELECT
    	last_name,
    	salary,
    	commission_pct
    FROM
    	t_mysql_employees
    WHERE
    	salary>=10000 AND salary<=20000;
    #  2:         90 110  ,      15000     
    SELECT
    	*
    FROM
    	t_mysql_employees
    WHERE
    	NOT(department_id>=90 AND  department_id<=110) OR salary>15000;
    */
    

    2、クエリーで行をフィルタする
    3、where句
    4、比較演算
    5、between
    5.1 between andケース
    #2.between and
    /*
    ①  between and           
    ②     
    ③           
    
    */
    
    
    #  1:       100 120       
    
    SELECT
    	*
    FROM
    	t_mysql_employees
    WHERE
    	employee_id <= 120 AND employee_id>=100;
    #----------------------
    SELECT
    	*
    FROM
    	t_mysql_employees
    WHERE
    	employee_id BETWEEN 100 AND 120;
    
    
    

    6、in
    6.1 inのケース
    #3.in
    /*
      :           in       
      :
    	①  in       
    	②in             
    	③in         
    	
    
    */
    #  :           IT_PROG、AD_VP、AD_PRES            
    
    SELECT
    	last_name,
    	job_id
    FROM
    	t_mysql_employees
    WHERE
    	job_id = 'IT_PROT' OR job_id = 'AD_VP' OR JOB_ID ='AD_PRES';
    
    
    #------------------
    
    SELECT
    	last_name,
    	job_id
    FROM
    	t_mysql_employees
    WHERE
    	job_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');
    
    

    7、like
    7.1 likeのケース
    #1.like
    /*
      :
    ①          
    	   :
    	%       ,  0   
    	_       
    *、
    
    #  1:          a     
    
    select 
    	*
    from
    	employees
    where
    	last_name like '%a%';#abc
    #  2:            e,      a       
    select
    	last_name,
    	salary
    FROM
    	t_mysql_employees
    WHERE
    	last_name LIKE '__n_l%';
    
    
    
    #  3:            _    
    
    SELECT
    	last_name
    FROM
    	t_mysql_employees
    WHERE
    	last_name LIKE '_$_%' ESCAPE '$';
    

    8、null
    #4、is null
    /*
    = <>      null 
    is null is not null     null 
    
    
    
    
    */
    
    #  1:              
    SELECT
    	last_name,
    	commission_pct
    FROM
    	t_mysql_employees
    WHERE
    	commission_pct IS NULL;
    
    
    #  1:             
    SELECT
    	last_name,
    	commission_pct
    FROM
    	t_mysql_employees
    WHERE
    	commission_pct IS NOT NULL;
    
    #----------   ×
    SELECT
    	last_name,
    	commission_pct
    FROM
    	t_mysql_employees
    
    WHERE 
    	salary IS 12000;
    	
    	
    #      <=>
    
    
    #  1:              
    SELECT
    	last_name,
    	commission_pct
    FROM
    	t_mysql_employees
    WHERE
    	commission_pct <=>NULL;
    	
    	
    #  2:     12000     
    SELECT
    	last_name,
    	salary
    FROM
    	t_mysql_employees
    
    WHERE 
    	salary <=> 12000;
    	
    
    #is null pk <=>
    
    IS NULL:      NULL ,     ,    
    <=>    :     NULL ,          ,     
    
    

    9、論理演算
    10、order by句
    10.1ソートのケース
    #  3:    
    /*
      :
    select     
    from   
    【where      】
    order by          ;
    
    
      :
    1、asc      ,    
    desc      
    
    2、order by           、  、   、  、    
    
    3、order by           ,  limit  
    
    */
    
    #1、       
    SELECT * FROM t_mysql_employees ORDER BY salary DESC;
    
    #2、         
    
    #  :      >=90     ,        
    
    SELECT *
    FROM t_mysql_employees
    WHERE department_id>=90
    ORDER BY employee_id DESC;
    
    
    #3、      
    #  :            
    
    
    SELECT *,salary*12*(1+IFNULL(commission_pct,0))
    FROM t_mysql_employees
    ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
    
    
    #4、     
    #  :            
    
    SELECT *,salary*12*(1+IFNULL(commission_pct,0))   
    FROM t_mysql_employees
    ORDER BY    ASC;
    
    #5、     
    #  :     ,          
    
    SELECT LENGTH(last_name),last_name 
    FROM t_mysql_employees
    ORDER BY LENGTH(last_name) DESC;
    
    #6、       
    
    #  :      ,        ,  employee_id  
    SELECT *
    FROM t_mysql_employees
    ORDER BY salary DESC,employee_id ASC;
    

    10.2ソートの練習
    #1.              ,           
    
    SELECT last_name,department_id,salary*12*(1+IFNULL(commission_pct,0))   
    FROM t_mysql_employees
    ORDER BY    DESC,last_name ASC;
    
    
    #2.      8000 17000         ,     
    SELECT last_name,salary
    FROM t_mysql_employees
    
    WHERE salary NOT BETWEEN 8000 AND 17000
    ORDER BY salary DESC;
    
    #3.       e     ,           ,       
    
    SELECT *,LENGTH(email)
    FROM t_mysql_employees
    WHERE email LIKE '%e%'
    ORDER BY LENGTH(email) DESC,department_id ASC;
    
    
    

    まとめ
    上記の知識点について、ブロガーはMySQLとJ 2 EEのドキュメントを独学で提供し、初心者に使用することを提案し、リンク:https://download.csdn.net/download/men_ma/12531102 (Ctrl+C&&Ctrl+v)