mysql ステートメントをクエリする方法: テーブル内のレコードをクエリする場合、コードは [select * from table name where name='long' and age ='18'] で、from の後にテーブル名を追加します。 where 条件、選択の後にフィルターされたフィールドが続きます。
このチュートリアルの動作環境: 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. まずどこから来たかを決定します emp のテーブル 2. id >= 3 および id <=6; のフィルター条件 3. *
select * from emp where id >= 3 and id <= 6; select * from emp where id between 3 and 6; between 等价于id >= 3 and id <= 6
select id,name from emp where salary = 20000 or salary = 18000 or salary = 17000; select id,name from emp where salary in (20000,18000,17000);
select name,salary from emp where name like '%o%';
4。4 文字からなる従業員名とその給与をクエリします。
select name, salary from emp where length(name) =4; select name ,salary from emp where name like "____"
5。3 未満またはそれ以上の ID を持つデータをクエリします。 6select * from emp where id<3 or id >6;
select * from emp where id not between 3 and 6;
select * from emp where salary not in (20000,17000,18000);
7. 空の職務内容で従業員名と役職名を問い合わせる
null 判定の場合=select name ,post from emp where post_comment is null;
select * from emp group by post; # 按照部门分组
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;
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()能够拿到分组后每一个数据指定字段(可以是多个)对应的值
group_concat(分组之后用)
concat(不分组时用)
查询每个员工的年薪
select name,salary*12 from emp;
相关免费学习推荐:php编程(视频)
以上がmysqlステートメントをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。