[5] laravel - 데이터베이스 쿼리 빌더_2
2024. 5. 20. 17:33ㆍlaravel(라라벨)
728x90
[ 환경 ]
ㄴ laravel 10.48.9
1. distinct () - 중복 데이터 제거
Route::get('/moonddev10', function () {
# 중복데이터를 제거할 필드(컬럼)을 선택하고 최종 조회
// 쿼리문 : SELECT DISTINCT id FROM member;
// DISTINCT 특성상 중복제거할 컬럼을 무조건 지정해줘야함.
$bbb = DB::table('member')->distinct()->select('id')->get();
return $bbb;
});
ㄴ 기존 데이터 - lee가 2개로 중복된것 확인
ㄴ 정상출력 - 가장 아래 중복되는 아이디의 데이터가 제거된거 확인.
2. 비교연산자
Route::get('/moonddev11', function () {
# 비교연산자 where에 컬럼과 비교할조건 데이터를 입력하여 조회
// 쿼리문 : SELECT idx FROM member WHERE idx != 1;
// 쿼리문 : SELECT idx FROM member WHERE idx > 3;
// 쿼리문 : SELECT idx FROM member WHERE idx < 3;
// 쿼리문 : SELECT idx FROM member WHERE idx >= 3;
// 쿼리문 : SELECT idx FROM member WHERE idx <= 3;
$a1 = DB::table('member')->select('idx')->where('idx', '!=', '1')->get();
$a2 = DB::table('member')->select('idx')->where('idx', '>', '3')->get();
$a3 = DB::table('member')->select('idx')->where('idx', '<', '3')->get();
$a4 = DB::table('member')->select('idx')->where('idx', '>=', '3')->get();
$a5 = DB::table('member')->select('idx')->where('idx', '<=', '3')->get();
echo "idx 값이 1이 아닌 데이터 : ".$a1."<br>";
echo "idx 값이 3보다 큰 데이터 : ".$a2."<br>";
echo "idx 값이 3보다 작은 데이터 : ".$a3."<br>";
echo "idx 값이 3보다 크거나 같은 데이터 : ".$a4."<br>";
echo "idx 값이 3보다 작거나 같은 데이터 : ".$a5."<br>";
});
ㄴ 정상출력
3. LIKE문
Route::get('/moonddev12', function () {
# where 조건에 like문을 사용하여 데이터 조회
// 쿼리문 : SELECT id FROM member WHERE id LIKE 'moonddev1';
// 쿼리문 : SELECT id FROM member WHERE id LIKE '%moonddev';
// 쿼리문 : SELECT id FROM member WHERE id LIKE 'moonddev%';
// 쿼리문 : SELECT id FROM member WHERE id LIKE '%moonddev%';
$a1 = DB::table('member')->select('id')->where('id', 'LIKE', 'moonddev1')->get();
$a2 = DB::table('member')->select('id')->where('id', 'LIKE', '%moonddev')->get();
$a3 = DB::table('member')->select('id')->where('id', 'LIKE', 'moonddev%')->get();
$a4 = DB::table('member')->select('id')->where('id', 'LIKE', '%%moonddev%')->get();
echo "id 값이 moonddev1인 데이터 : ".$a1."<br>";
echo "id 값이 moonddev로 끝나는 데이터 : ".$a2."<br>";
echo "id 값이 moonddev로 시작하는 데이터 : ".$a3."<br>";
echo "id 값이 moonddev가 포함하는 데이터 : ".$a4."<br>";
});
ㄴ 정상출력
4. orWhere() - or문
Route::get('/moonddev13', function () {
# orWhere을 사용하여 where조건에 이은 추가조건 넣고 조회.
// 쿼리문 : SELECT idx FROM member WHERE idx = 1 OR idx = 2;
$bbb = DB::table('member')->select('idx')->where('idx', '=', '1')->orWhere('idx','=','2')->get();
return $bbb;
});
ㄴ 정상출력
5. whereBetween() / whereNotBetween() - between문
Route::get('/moonddev14', function () {
# whereBetween/whereNotBetween을 사용하여 특정범위 데이터 조회
// 쿼리문 : SELECT idx FROM member WHERE idx BETWEEN 1 AND 4;
// 쿼리문 : SELECT idx FROM member WHERE idx NOT BETWEEN 1 AND 4;
$a1 = DB::table('member')->select('idx')->whereBetween('idx', [1,4])->get();
$a2 = DB::table('member')->select('idx')->whereNotBetween('idx', [1,4])->get();
echo "idx 값이 1에서 4사이에 존재하는 데이터 : ".$a1."<br>";
echo "idx 값이 1에서 4사이에 존재하지 않는 데이터 : ".$a2."<br>";
});
6. orderBy() - order by문
Route::get('/moonddev15', function () {
# orderBy를 사용하여 데이터 정렬
// 쿼리문 : SELECT idx FROM member ORDER BY idx ASC;
// 쿼리문 : SELECT idx FROM member ORDER BY idx DESC;
$a1 = DB::table('member')->select('idx')->orderBy('idx', 'ASC')->get();
$a2 = DB::table('member')->select('idx')->orderBy('idx', 'DESC')->get();
echo "idx 값 오름차순 정렬 : ".$a1."<br>";
echo "idx 값 내림차순 정렬 : ".$a2."<br>";
});
ㄴ 정상출력
728x90
'laravel(라라벨)' 카테고리의 다른 글
[7] laravel - controller 사용법 (0) | 2024.06.03 |
---|---|
[6] laravel - 라우팅 등록 (0) | 2024.05.31 |
[4] laravel - 데이터베이스 쿼리 빌더_1 (0) | 2024.04.29 |
[3] laravel - could not find driver 오류 (0) | 2024.04.26 |
[2] laravel - MySQL 데이터베이스 연동 (0) | 2024.04.26 |