ホームページ >データベース >mysql チュートリアル >mysqlステートメントをクエリする方法

mysqlステートメントをクエリする方法

coldplay.xixi
coldplay.xixiオリジナル
2020-12-16 10:30:143569ブラウズ

mysql ステートメントをクエリする方法: テーブル内のレコードをクエリする場合、コードは [select * from table name where name='long' and age ='18'] で、from の後にテーブル名を追加します。 where 条件、選択の後にフィルターされたフィールドが続きます。

mysqlステートメントをクエリする方法

このチュートリアルの動作環境: Windows 7 システム、mysql バージョン 8.0.22. この方法は、すべてのブランドのコンピューターに適しています。

関連する無料学習の推奨事項: mysql ビデオ チュートリアル

mysql ステートメントをクエリする方法:

mysql でテーブルをクエリする記録

書き込み順序は : select * from table name where name='long' and age ='18';

ただし、 mysql での実行順序は

  • From の後に、どのテーブルであるかを決定するためのテーブル名が続きます。

  • Where の後に、条件でフィルターするための条件が続きます。このテーブルの内容

  • select の後には、where でフィルタリングしたデータの が続きます。一部のフィールド * はすべてフィールドです

#クエリ文の実行結果もテーブルとなり、仮想テーブルとみなすことができます

##emp 従業員テーブルを作成します

#When フィールドが多すぎると、結果のレイアウトが乱雑になる可能性があります。クエリ ステートメントの最後に \G を追加して、クエリ結果を標準化できます

select * from 表名\G;

#要件に遭遇したとき 分析方法 例:

1. ID が 3 以上 6 以下のデータをクエリします

実際の操作を示します 1. まずどこから来たかを決定します emp のテーブル 2. id >= 3 および id

   select * from emp where id >= 3 and id 8c5d28f958e9b9bceafbc2aa9ea1995e= 3 and id 969233292a5fd2bdf17516c225e9b96e6;
select * from emp where id not between 3 and 6;
6. 20000、18000、17000 の範囲にない給与を問い合わせる Data
select * from emp  where  salary not in (20000,17000,18000);

7. 空の職務内容で従業員名と役職名を問い合わせる

null 判定の場合=

select name ,post from emp where post_comment is null;

は使用できますが、is のみ使用できます。=

select * from emp group by post;  # 按照部门分组

は使用できません。MySQL では大文字と小文字が区別されません。記述する際には、大文字と小文字の両方を使用できます。

1 . Group by group

show variables '%mode%'; # 找到严格模式所在的地方set session # 临时有效 set global  # 永久有效set global sql_mode= 'strict_trans_tables' # 设置字符类型的自动截取set global sql_mode="strict_trans_tables,pad_char_to_full_length" #char 取出时 取消自动去空格set global sql_mode='strict_trans_tables,only_full_group_by' # 设置分组后   最小单位是组

グループ化後は、できるだけ小さくする必要があります。グループ内の個別のデータ情報を表示するのではなく、グループ単位です。

エラーが表示されずに直接出力された場合は、

strict モードが設定されていないことを意味します。

此时你如果还使用 select name from emp group by post; 就会报错 #ERROR 1055 (42000): 'day37.emp.name' isn't in GROUP BYselest 后应该接的是 你分组的字段名

#
select post ,max(salary) from emp group by post;

2. 集計関数 (max、min、sum、count、avg) は 1 つの結果にまとめられます

mysql でグループ化した後は、

グループ化されたフィールドのみを取得できます情報

他の分野の情報は直接取得できませんが、別の方法(集計関数)で間接的に取得できますGet各部門の最高給与

要件としては、各部門がグループ化されているため、最初にグループ化してから集計関数を使用して値を取得します

select post,min(salary)  emp group by post;
 
select post,min(salary) as '最小' from emp group by post;
each 部門の最低給与

select post,avg(salary) from emp group by post;

各部門の平均給与

select post,sum(salary) from emp group by post;
各部門の合計給与

    select post,count(age) from emp group by post;
    select post,count(salary) from emp group by post;
    select post,count(id) from emp group by post;
    select post,count(post_comment) from emp group by post;
各部門の平均給与 人数

select post, group_concat(name) from emp group by post;
グループ内の人数を数えるときは、

空でない任意のフィールドでカウントを完了できます。

、ID フィールドなど、データを一意に識別できるフィールドを使用することをお勧めします

集計 この関数は、考慮する必要がなく、各グループの個々のデータに対して必要な計算を自動的に実行します

3, group_concat

グループ化後に部門名をクエリし、

すべて各学科の下にあります。学生の姓は

select post,group_concat('hahha',name) from emp group by post;
select name,salary*12 from emp;

で、

でつなげることもできます。

group_concat()能够拿到分组后每一个数据指定字段(可以是多个)对应的值

 concat就是用来帮你拼接数据

group_concat(分组之后用)

concat(不分组时用)

 查询每个员工的年薪

select name,salary*12 from emp;

相关免费学习推荐:php编程(视频)

以上がmysqlステートメントをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。